/* return timer owned by the process, used by exit_itimers  */
static void itimer_delete(struct k_itimer *timer)
/* return timer owned by the process, used by exit_itimers  */
static void itimer_delete(struct k_itimer *timer)
{
	unsigned long flags;
retry_delete:
	spin_lock_irqsave(&timer->it_lock, flags);
	if (timer_delete_hook(timer) == TIMER_RETRY) {
		unlock_timer(timer, flags);
		goto retry_delete;
	}
	list_del(&timer->list);
	timer->it_signal = NULL;
	unlock_timer(timer, flags);
	release_posix_timer(timer, IT_ID_SET);
}