diff options
author | mtm <mtm@FreeBSD.org> | 2004-02-19 13:51:52 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2004-02-19 13:51:52 +0000 |
commit | 92fa0888006446f19ecb94917fc328f73a181ca5 (patch) | |
tree | cad0329c8633c156cb26fae5e88c67ab7c100c11 /lib/libthr/thread/thr_sig.c | |
parent | 88ba2a7fa4a4e9ece2211b64fa3b51b55672dc6d (diff) | |
download | FreeBSD-src-92fa0888006446f19ecb94917fc328f73a181ca5.zip FreeBSD-src-92fa0888006446f19ecb94917fc328f73a181ca5.tar.gz |
Implement PThreads barriers and barrier attributes.
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
-rw-r--r-- | lib/libthr/thread/thr_sig.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index 0b8ba2b..771afbc 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -130,6 +130,13 @@ _thread_sig_wrapper(int sig, siginfo_t *info, void *context) * after cleanup handling. */ switch (curthread->state) { + case PS_BARRIER_WAIT: + /* + * XXX - The thread has reached the barrier. We can't + * "back it away" from the barrier. + */ + _thread_critical_enter(curthread); + break; case PS_COND_WAIT: /* * Cache the address, since it will not be available |