summaryrefslogtreecommitdiffstats
path: root/lib/libkse/thread/thr_kern.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libkse/thread/thr_kern.c')
-rw-r--r--lib/libkse/thread/thr_kern.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c
index 7909838..5186c52 100644
--- a/lib/libkse/thread/thr_kern.c
+++ b/lib/libkse/thread/thr_kern.c
@@ -1568,6 +1568,8 @@ kse_check_completed(struct kse *kse)
!= 0) {
if (SIGISMEMBER(thread->sigmask, sig))
SIGADDSET(thread->sigpend, sig);
+ else if (THR_IN_CRITICAL(thread))
+ kse_thr_interrupt(NULL, KSE_INTR_SIGEXIT, sig);
else
(void)_thr_sig_add(thread, sig,
&thread->tcb->tcb_tmbx.tm_syncsig);
OpenPOWER on IntegriCloud