Lines Matching refs:curthread
69 struct pthread *curthread = _get_curthread(); in _thread_kern_sched() local
97 memcpy(&curthread->saved_sigcontext, scp, in _thread_kern_sched()
98 sizeof(curthread->saved_sigcontext)); in _thread_kern_sched()
101 curthread->sig_saved = 1; in _thread_kern_sched()
104 curthread->sig_saved = 0; in _thread_kern_sched()
107 if ((curthread->flags & PTHREAD_FLAGS_PRIVATE) == 0) in _thread_kern_sched()
108 _last_user_thread = curthread; in _thread_kern_sched()
111 _thread_machdep_save_float_state(&curthread->_machdep); in _thread_kern_sched()
114 curthread->error = errno; in _thread_kern_sched()
117 old_thread_run = curthread; in _thread_kern_sched()
139 if (curthread != &_thread_kern_thread) { in _thread_kern_sched()
143 curthread->yield_on_sig_undefer = 0; in _thread_kern_sched()
145 if (curthread->state != PS_RUNNING) { in _thread_kern_sched()
150 curthread->last_inactive = (long)current_tick; in _thread_kern_sched()
151 if (curthread->last_inactive < in _thread_kern_sched()
152 curthread->last_active) { in _thread_kern_sched()
154 curthread->last_inactive =+ in _thread_kern_sched()
163 switch (curthread->state) { in _thread_kern_sched()
198 curthread->wakeup_time.tv_sec = -1; in _thread_kern_sched()
199 curthread->wakeup_time.tv_nsec = -1; in _thread_kern_sched()
202 curthread->slice_usec = -1; in _thread_kern_sched()
205 PTHREAD_WAITQ_INSERT(curthread); in _thread_kern_sched()
212 curthread->slice_usec = -1; in _thread_kern_sched()
215 PTHREAD_WAITQ_INSERT(curthread); in _thread_kern_sched()
221 curthread->wakeup_time.tv_sec = -1; in _thread_kern_sched()
222 curthread->wakeup_time.tv_nsec = -1; in _thread_kern_sched()
233 curthread->slice_usec = -1; in _thread_kern_sched()
236 PTHREAD_WAITQ_INSERT(curthread); in _thread_kern_sched()
239 PTHREAD_WORKQ_INSERT(curthread); in _thread_kern_sched()
255 ((curthread->state != PS_RUNNING) && in _thread_kern_sched()
320 curthread->last_inactive = (long)current_tick; in _thread_kern_sched()
321 if (curthread->last_inactive < in _thread_kern_sched()
322 curthread->last_active) { in _thread_kern_sched()
324 curthread->last_inactive =+ UINT_MAX + 1; in _thread_kern_sched()
327 if ((curthread->slice_usec != -1) && in _thread_kern_sched()
328 (curthread->attr.sched_policy != SCHED_FIFO)) { in _thread_kern_sched()
333 curthread->slice_usec += in _thread_kern_sched()
334 (curthread->last_inactive - in _thread_kern_sched()
335 curthread->last_active) * in _thread_kern_sched()
338 if (curthread->slice_usec > TIMESLICE_USEC) in _thread_kern_sched()
339 curthread->slice_usec = -1; in _thread_kern_sched()
342 if (curthread->slice_usec == -1) { in _thread_kern_sched()
349 PTHREAD_PRIOQ_INSERT_TAIL(curthread); in _thread_kern_sched()
356 PTHREAD_PRIOQ_INSERT_HEAD(curthread); in _thread_kern_sched()
373 curthread = &_thread_kern_thread; in _thread_kern_sched()
445 curthread = pthread_h; in _thread_kern_sched()
452 curthread->last_active = (long) current_tick; in _thread_kern_sched()
459 if (curthread->slice_usec == -1) { in _thread_kern_sched()
461 curthread->slice_usec = 0; in _thread_kern_sched()
465 errno = curthread->error; in _thread_kern_sched()
468 _thread_machdep_restore_float_state(&curthread->_machdep); in _thread_kern_sched()
471 _thread_machdep_switch(&curthread->_machdep, in _thread_kern_sched()
482 curthread = _get_curthread(); in _thread_kern_sched()
487 (_last_user_thread != curthread)) { in _thread_kern_sched()
489 curthread); in _thread_kern_sched()
493 if (((curthread->cancelflags & in _thread_kern_sched()
495 ((curthread->cancelflags & in _thread_kern_sched()
500 if (curthread->sig_defer_count == 0) in _thread_kern_sched()
504 if (curthread->sig_saved == 1) { in _thread_kern_sched()
529 struct pthread *curthread = _get_curthread(); in _thread_kern_sched_state() local
545 curthread->state = state; in _thread_kern_sched_state()
546 curthread->fname = fname; in _thread_kern_sched_state()
547 curthread->lineno = lineno; in _thread_kern_sched_state()
557 struct pthread *curthread = _get_curthread(); in _thread_kern_sched_state_unlock() local
574 curthread->state = state; in _thread_kern_sched_state_unlock()
575 curthread->fname = fname; in _thread_kern_sched_state_unlock()
576 curthread->lineno = lineno; in _thread_kern_sched_state_unlock()
918 struct pthread *curthread = _get_curthread(); in _thread_kern_set_timeout() local
923 curthread->timeout = 0; in _thread_kern_set_timeout()
931 curthread->wakeup_time.tv_sec = -1; in _thread_kern_set_timeout()
932 curthread->wakeup_time.tv_nsec = -1; in _thread_kern_set_timeout()
937 curthread->wakeup_time.tv_sec = 0; in _thread_kern_set_timeout()
938 curthread->wakeup_time.tv_nsec = 0; in _thread_kern_set_timeout()
943 timespecadd(¤t_time, timeout, &curthread->wakeup_time); in _thread_kern_set_timeout()
966 struct pthread *curthread = _get_curthread(); in _thread_kern_sig_defer() local
969 curthread->sig_defer_count++; in _thread_kern_sig_defer()
975 struct pthread *curthread = _get_curthread(); in _thread_kern_sig_undefer() local
981 if (curthread->sig_defer_count > 1) { in _thread_kern_sig_undefer()
983 curthread->sig_defer_count--; in _thread_kern_sig_undefer()
985 else if (curthread->sig_defer_count == 1) { in _thread_kern_sig_undefer()
987 curthread->sig_defer_count = 0; in _thread_kern_sig_undefer()
999 if (((curthread->cancelflags & PTHREAD_AT_CANCEL_POINT) == 0) && in _thread_kern_sig_undefer()
1000 ((curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) != 0)) in _thread_kern_sig_undefer()
1009 if ((curthread->yield_on_sig_undefer != 0) || in _thread_kern_sig_undefer()
1010 curthread->sigpend != 0) { in _thread_kern_sig_undefer()
1011 curthread->yield_on_sig_undefer = 0; in _thread_kern_sig_undefer()