Print this page
*** NO COMMENTS ***

@@ -254,18 +254,25 @@
 cv_destroy(kcondvar_t *cv)
 {
         VERIFY(cond_destroy(cv) == 0);
 }
 
-void
-cv_wait(kcondvar_t *cv, kmutex_t *mp)
+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)
 {