diff options
Diffstat (limited to 'lib/libpthread/thread/thr_kern.c')
-rw-r--r-- | lib/libpthread/thread/thr_kern.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c index 7909838..5186c52 100644 --- a/lib/libpthread/thread/thr_kern.c +++ b/lib/libpthread/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); |