Lines Matching refs:new_timer

437 static int common_timer_create(struct k_itimer *new_timer)
439 hrtimer_init(&new_timer->it.real.timer, new_timer->it_clock, 0);
448 struct k_itimer *new_timer;
456 new_timer = alloc_posix_timer();
457 if (unlikely(!new_timer))
460 spin_lock_init(&new_timer->it_lock);
464 * because new_timer::it_signal is still NULL. The timer id is also
467 new_timer_id = posix_timer_add(new_timer);
469 posix_timer_free(new_timer);
473 new_timer->it_id = (timer_t) new_timer_id;
474 new_timer->it_clock = which_clock;
475 new_timer->kclock = kc;
476 new_timer->it_overrun = -1LL;
480 new_timer->it_pid = get_pid(good_sigevent(event));
482 if (!new_timer->it_pid) {
486 new_timer->it_sigev_notify = event->sigev_notify;
487 new_timer->sigq->info.si_signo = event->sigev_signo;
488 new_timer->sigq->info.si_value = event->sigev_value;
490 new_timer->it_sigev_notify = SIGEV_SIGNAL;
491 new_timer->sigq->info.si_signo = SIGALRM;
492 memset(&new_timer->sigq->info.si_value, 0, sizeof(sigval_t));
493 new_timer->sigq->info.si_value.sival_int = new_timer->it_id;
494 new_timer->it_pid = get_pid(task_tgid(current));
497 new_timer->sigq->info.si_tid = new_timer->it_id;
498 new_timer->sigq->info.si_code = SI_TIMER;
506 * now but not yet valid because new_timer::signal is still NULL.
511 error = kc->timer_create(new_timer);
517 WRITE_ONCE(new_timer->it_signal, current->signal);
518 list_add(&new_timer->list, &current->signal->posix_timers);
521 * After unlocking sighand::siglock @new_timer is subject to
526 posix_timer_unhash_and_free(new_timer);