summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_cond.c
diff options
context:
space:
mode:
authormtm <mtm@FreeBSD.org>2003-12-09 11:12:11 +0000
committermtm <mtm@FreeBSD.org>2003-12-09 11:12:11 +0000
commit5f32d90edd66b839d09271c56ca3d2e3ff04624a (patch)
tree8acaa952bf900222012b86ff5e6540e2feb6b6bc /lib/libthr/thread/thr_cond.c
parentbc6b622cf64270f3ae017698e25018a5687802ad (diff)
downloadFreeBSD-src-5f32d90edd66b839d09271c56ca3d2e3ff04624a.zip
FreeBSD-src-5f32d90edd66b839d09271c56ca3d2e3ff04624a.tar.gz
Fix the wrapper function around signals so that a signal handling
thread on one of the mutex or condition variable queues is removed from those queues before the real signal handler is called.
Diffstat (limited to 'lib/libthr/thread/thr_cond.c')
-rw-r--r--lib/libthr/thread/thr_cond.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/libthr/thread/thr_cond.c b/lib/libthr/thread/thr_cond.c
index 00dbb25..367a54e 100644
--- a/lib/libthr/thread/thr_cond.c
+++ b/lib/libthr/thread/thr_cond.c
@@ -419,24 +419,15 @@ _cond_wait_backout(pthread_t pthread)
if (cond == NULL)
return;
- COND_LOCK(cond);
-
/* Process according to condition variable type: */
switch (cond->c_type) {
/* Fast condition variable: */
case COND_TYPE_FAST:
- _thread_critical_enter(curthread);
-
cond_queue_remove(cond, pthread);
-
- _thread_critical_exit(curthread);
break;
-
default:
break;
}
-
- COND_UNLOCK(cond);
}
/*
OpenPOWER on IntegriCloud