summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_cond.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libthr/thread/thr_cond.c')
-rw-r--r--lib/libthr/thread/thr_cond.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libthr/thread/thr_cond.c b/lib/libthr/thread/thr_cond.c
index 0327575..6bee687 100644
--- a/lib/libthr/thread/thr_cond.c
+++ b/lib/libthr/thread/thr_cond.c
@@ -275,12 +275,14 @@ _pthread_cond_timedwait(pthread_cond_t * cond, pthread_mutex_t * mutex,
}
PTHREAD_SET_STATE(curthread, PS_COND_WAIT);
+ GIANT_UNLOCK(curthread);
rval = _thread_suspend(curthread, time);
if (rval == -1) {
printf("foo");
fflush(stdout);
abort();
}
+ GIANT_LOCK(curthread);
done = (seqno != (*cond)->c_seqno);
OpenPOWER on IntegriCloud