Print this page
*** NO COMMENTS ***

*** 254,271 **** cv_destroy(kcondvar_t *cv) { VERIFY(cond_destroy(cv) == 0); } ! void ! cv_wait(kcondvar_t *cv, kmutex_t *mp) { ASSERT(mutex_owner(mp) == curthread); mp->m_owner = NULL; int ret = cond_wait(cv, &mp->m_lock); VERIFY(ret == 0 || ret == EINTR); mp->m_owner = curthread; } clock_t cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime) { --- 254,278 ---- cv_destroy(kcondvar_t *cv) { VERIFY(cond_destroy(cv) == 0); } ! int ! cv_wait_sig(kcondvar_t *cv, kmutex_t *mp) { ASSERT(mutex_owner(mp) == curthread); mp->m_owner = NULL; int ret = cond_wait(cv, &mp->m_lock); VERIFY(ret == 0 || ret == EINTR); mp->m_owner = curthread; + return (ret == EINTR ? 0 : 1); + } + + void + cv_wait(kcondvar_t *cv, kmutex_t *mp) + { + (void) cv_wait_sig(cv, mp); } clock_t cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime) {