diff --git a/lib/libkse/thread/thr_cond.c b/lib/libkse/thread/thr_cond.c index 32a152ddef1..12c14db8886 100644 --- a/lib/libkse/thread/thr_cond.c +++ b/lib/libkse/thread/thr_cond.c @@ -326,7 +326,7 @@ _pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) * that the mutex be reaquired prior to * cancellation. */ - if (done != 0) { + if (done || interrupted) { rval = _mutex_cv_lock(mutex); unlock_mutex = 1; } diff --git a/lib/libpthread/thread/thr_cond.c b/lib/libpthread/thread/thr_cond.c index 32a152ddef1..12c14db8886 100644 --- a/lib/libpthread/thread/thr_cond.c +++ b/lib/libpthread/thread/thr_cond.c @@ -326,7 +326,7 @@ _pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) * that the mutex be reaquired prior to * cancellation. */ - if (done != 0) { + if (done || interrupted) { rval = _mutex_cv_lock(mutex); unlock_mutex = 1; }