Lines Matching defs:lwptp

56 	lwp_timer_t *lwptp = arg;
57 kthread_t *t = lwptp->lwpt_thread;
66 if (lwptp->lwpt_timecheck == timechanged &&
67 (lwptp->lwpt_rqtime.tv_sec > now.tv_sec ||
68 (lwptp->lwpt_rqtime.tv_sec == now.tv_sec &&
69 lwptp->lwpt_rqtime.tv_nsec > now.tv_nsec))) {
70 lwptp->lwpt_imm_timeout = 0;
71 delta = lwptp->lwpt_rqtime;
73 lwptp->lwpt_id = timeout_generic(CALLOUT_REALTIME,
74 lwp_timer_timeout, lwptp, ts2hrt(&delta), nsec_per_tick,
84 (void) atomic_cas_uint(&lwptp->lwpt_imm_timeout, 0, 1);
95 lwp_timer_copyin(lwp_timer_t *lwptp, timespec_t *tsp)
102 lwptp->lwpt_timecheck = timechanged; /* do this before gethrestime() */
105 if (copyin(tsp, &lwptp->lwpt_rqtime, sizeof (timespec_t))) {
115 TIMESPEC32_TO_TIMESPEC(&lwptp->lwpt_rqtime, &ts32);
117 if (itimerspecfix(&lwptp->lwpt_rqtime)) {
127 if (lwptp->lwpt_rqtime.tv_sec == 0 && lwptp->lwpt_rqtime.tv_nsec == 0) {
128 bzero(lwptp, sizeof (lwp_timer_t));
129 lwptp->lwpt_imm_timeout = 1;
131 lwptp->lwpt_thread = curthread;
132 lwptp->lwpt_tsp = tsp;
133 lwptp->lwpt_time_error = 0;
134 lwptp->lwpt_id = 0;
135 lwptp->lwpt_imm_timeout = 0;
136 timespecadd(&lwptp->lwpt_rqtime, &now);
140 bzero(lwptp, sizeof (lwp_timer_t));
141 lwptp->lwpt_time_error = error;
146 lwp_timer_enqueue(lwp_timer_t *lwptp)
150 ASSERT(lwptp->lwpt_thread == curthread);
153 if (lwptp->lwpt_timecheck == timechanged &&
154 (lwptp->lwpt_rqtime.tv_sec > now.tv_sec ||
155 (lwptp->lwpt_rqtime.tv_sec == now.tv_sec &&
156 lwptp->lwpt_rqtime.tv_nsec > now.tv_nsec))) {
160 lwptp->lwpt_imm_timeout = 0;
161 delta = lwptp->lwpt_rqtime;
163 lwptp->lwpt_id = timeout_generic(CALLOUT_REALTIME,
164 lwp_timer_timeout, lwptp, ts2hrt(&delta), nsec_per_tick,
173 lwptp->lwpt_imm_timeout = 1;
178 lwp_timer_dequeue(lwp_timer_t *lwptp)
185 while ((tmp_id = lwptp->lwpt_id) != 0) {
186 lwptp->lwpt_id = 0;
196 lwp_timer_copyout(lwp_timer_t *lwptp, int error)
201 if (lwptp->lwpt_tsp == NULL) /* nothing to do */
207 if ((now.tv_sec < lwptp->lwpt_rqtime.tv_sec) ||
208 ((now.tv_sec == lwptp->lwpt_rqtime.tv_sec) &&
209 (now.tv_nsec < lwptp->lwpt_rqtime.tv_nsec))) {
210 rmtime = lwptp->lwpt_rqtime;
215 if (copyout(&rmtime, lwptp->lwpt_tsp, sizeof (timespec_t)))
221 if (copyout(&rmtime32, lwptp->lwpt_tsp, sizeof (timespec32_t)))