diff options
author | mtm <mtm@FreeBSD.org> | 2003-12-09 11:12:11 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2003-12-09 11:12:11 +0000 |
commit | 5f32d90edd66b839d09271c56ca3d2e3ff04624a (patch) | |
tree | 8acaa952bf900222012b86ff5e6540e2feb6b6bc /lib/libthr/thread/thr_cond.c | |
parent | bc6b622cf64270f3ae017698e25018a5687802ad (diff) | |
download | FreeBSD-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.c | 9 |
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); } /* |