Lines Matching refs:curthread

206 	struct pthread *curthread;  in cond_wait_kernel()  local
209 curthread = _get_curthread(); in cond_wait_kernel()
210 robust = _mutex_enter_robust(curthread, mp); in cond_wait_kernel()
215 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
220 _thr_cancel_enter2(curthread, 0); in cond_wait_kernel()
224 _thr_cancel_leave(curthread, 0); in cond_wait_kernel()
242 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
245 _thr_testcancel(curthread); in cond_wait_kernel()
255 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
258 _thr_testcancel(curthread); in cond_wait_kernel()
263 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
278 struct pthread *curthread; in cond_wait_user() local
282 curthread = _get_curthread(); in cond_wait_user()
283 if (curthread->wchan != NULL) in cond_wait_user()
284 PANIC("thread %p was already on queue.", curthread); in cond_wait_user()
287 _thr_testcancel(curthread); in cond_wait_user()
297 curthread->mutex_obj = mp; in cond_wait_user()
298 _sleepq_add(cvp, curthread); in cond_wait_user()
300 _thr_clear_wake(curthread); in cond_wait_user()
309 if (curthread->nwaiter_defer > 0) { in cond_wait_user()
310 _thr_wake_all(curthread->defer_waiters, in cond_wait_user()
311 curthread->nwaiter_defer); in cond_wait_user()
312 curthread->nwaiter_defer = 0; in cond_wait_user()
316 _thr_cancel_enter2(curthread, 0); in cond_wait_user()
317 error = _thr_sleep(curthread, cvp->kcond.c_clockid, abstime); in cond_wait_user()
319 _thr_cancel_leave(curthread, 0); in cond_wait_user()
322 if (curthread->wchan == NULL) { in cond_wait_user()
325 } else if (cancel && SHOULD_CANCEL(curthread)) { in cond_wait_user()
327 cvp->__has_user_waiters = _sleepq_remove(sq, curthread); in cond_wait_user()
329 curthread->mutex_obj = NULL; in cond_wait_user()
331 if (!THR_IN_CRITICAL(curthread)) in cond_wait_user()
338 _sleepq_remove(sq, curthread); in cond_wait_user()
343 curthread->mutex_obj = NULL; in cond_wait_user()
354 struct pthread *curthread = _get_curthread(); in cond_wait_common() local
369 if ((error = _mutex_owned(curthread, mp)) != 0) in cond_wait_common()
372 if (curthread->attr.sched_policy != SCHED_OTHER || in cond_wait_common()
423 struct pthread *curthread = _get_curthread(); in cond_signal_common() local
444 curthread = _get_curthread(); in cond_signal_common()
456 if (PMUTEX_OWNER_ID(mp) == TID(curthread)) { in cond_signal_common()
457 if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { in cond_signal_common()
458 _thr_wake_all(curthread->defer_waiters, in cond_signal_common()
459 curthread->nwaiter_defer); in cond_signal_common()
460 curthread->nwaiter_defer = 0; in cond_signal_common()
462 curthread->defer_waiters[curthread->nwaiter_defer++] = in cond_signal_common()
475 struct pthread *curthread; member
485 struct pthread *curthread = ba->curthread; in drop_cb() local
488 if (PMUTEX_OWNER_ID(mp) == TID(curthread)) { in drop_cb()
489 if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { in drop_cb()
490 _thr_wake_all(curthread->defer_waiters, in drop_cb()
491 curthread->nwaiter_defer); in drop_cb()
492 curthread->nwaiter_defer = 0; in drop_cb()
494 curthread->defer_waiters[curthread->nwaiter_defer++] = in drop_cb()
527 ba.curthread = _get_curthread(); in cond_broadcast_common()