summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_sig.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2006-12-04 14:20:41 +0000
committerdavidxu <davidxu@FreeBSD.org>2006-12-04 14:20:41 +0000
commitcbb0fd817469a7d2bc7e1fb808addd5ca1dbfbfd (patch)
treea26172ec91f9000244f9da29bce3919b9abbd391 /lib/libthr/thread/thr_sig.c
parent22a81fc246efb2668eddcb6ccd27129feaa5910c (diff)
downloadFreeBSD-src-cbb0fd817469a7d2bc7e1fb808addd5ca1dbfbfd.zip
FreeBSD-src-cbb0fd817469a7d2bc7e1fb808addd5ca1dbfbfd.tar.gz
Use kernel provided userspace condition variable to implement pthread
condition variable.
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
-rw-r--r--lib/libthr/thread/thr_sig.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c
index 14da797..4f2bddd 100644
--- a/lib/libthr/thread/thr_sig.c
+++ b/lib/libthr/thread/thr_sig.c
@@ -61,6 +61,8 @@ sigcancel_handler(int sig __unused,
{
struct pthread *curthread = _get_curthread();
+ if (curthread->cancel_defer)
+ thr_wake(curthread->tid);
_thr_ast(curthread);
}
OpenPOWER on IntegriCloud