From 99c883294c3de3f5a8385a30d18a2f20e1efa36e Mon Sep 17 00:00:00 2001 From: David Xu Date: Fri, 2 May 2003 11:39:00 +0000 Subject: [PATCH] Handle thread canceled case, it is same as signal caused backout, but will break out of loop. --- lib/libkse/thread/thr_cond.c | 2 +- lib/libpthread/thread/thr_cond.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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; }