summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_sig.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
-rw-r--r--lib/libthr/thread/thr_sig.c7
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
OpenPOWER on IntegriCloud