Lines Matching refs:curthread

207 	struct pthread *curthread;  in cond_wait_kernel()  local
210 curthread = _get_curthread(); in cond_wait_kernel()
211 robust = _mutex_enter_robust(curthread, mp); in cond_wait_kernel()
216 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
221 _thr_cancel_enter2(curthread, 0); in cond_wait_kernel()
225 _thr_cancel_leave(curthread, 0); in cond_wait_kernel()
243 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
246 _thr_testcancel(curthread); in cond_wait_kernel()
256 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
259 _thr_testcancel(curthread); in cond_wait_kernel()
264 _mutex_leave_robust(curthread, mp); in cond_wait_kernel()
279 struct pthread *curthread; in cond_wait_user() local
283 curthread = _get_curthread(); in cond_wait_user()
284 if (curthread->wchan != NULL) in cond_wait_user()
285 PANIC("thread %p was already on queue.", curthread); in cond_wait_user()
288 _thr_testcancel(curthread); in cond_wait_user()
298 curthread->mutex_obj = mp; in cond_wait_user()
299 _sleepq_add(cvp, curthread); in cond_wait_user()
301 _thr_clear_wake(curthread); in cond_wait_user()
310 if (curthread->nwaiter_defer > 0) { in cond_wait_user()
311 _thr_wake_all(curthread->defer_waiters, in cond_wait_user()
312 curthread->nwaiter_defer); in cond_wait_user()
313 curthread->nwaiter_defer = 0; in cond_wait_user()
317 _thr_cancel_enter2(curthread, 0); in cond_wait_user()
318 error = _thr_sleep(curthread, cvp->kcond.c_clockid, abstime); in cond_wait_user()
320 _thr_cancel_leave(curthread, 0); in cond_wait_user()
323 if (curthread->wchan == NULL) { in cond_wait_user()
326 } else if (cancel && SHOULD_CANCEL(curthread)) { in cond_wait_user()
328 cvp->__has_user_waiters = _sleepq_remove(sq, curthread); in cond_wait_user()
330 curthread->mutex_obj = NULL; in cond_wait_user()
332 if (!THR_IN_CRITICAL(curthread)) in cond_wait_user()
339 _sleepq_remove(sq, curthread); in cond_wait_user()
344 curthread->mutex_obj = NULL; in cond_wait_user()
355 struct pthread *curthread = _get_curthread(); in cond_wait_common() local
370 if ((error = _mutex_owned(curthread, mp)) != 0) in cond_wait_common()
373 if (curthread->attr.sched_policy != SCHED_OTHER || in cond_wait_common()
424 struct pthread *curthread = _get_curthread(); in cond_signal_common() local
445 curthread = _get_curthread(); in cond_signal_common()
457 if (PMUTEX_OWNER_ID(mp) == TID(curthread)) { in cond_signal_common()
458 if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { in cond_signal_common()
459 _thr_wake_all(curthread->defer_waiters, in cond_signal_common()
460 curthread->nwaiter_defer); in cond_signal_common()
461 curthread->nwaiter_defer = 0; in cond_signal_common()
463 curthread->defer_waiters[curthread->nwaiter_defer++] = in cond_signal_common()
476 struct pthread *curthread; member
486 struct pthread *curthread = ba->curthread; in drop_cb() local
489 if (PMUTEX_OWNER_ID(mp) == TID(curthread)) { in drop_cb()
490 if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { in drop_cb()
491 _thr_wake_all(curthread->defer_waiters, in drop_cb()
492 curthread->nwaiter_defer); in drop_cb()
493 curthread->nwaiter_defer = 0; in drop_cb()
495 curthread->defer_waiters[curthread->nwaiter_defer++] = in drop_cb()
528 ba.curthread = _get_curthread(); in cond_broadcast_common()