summaryrefslogtreecommitdiffstats
path: root/lib/libkse/thread/thr_sig.c
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2000-01-20 04:46:52 +0000
committerjasone <jasone@FreeBSD.org>2000-01-20 04:46:52 +0000
commit3d706405069c7f125b5f99b7c1bc918740b2c426 (patch)
tree33117cde5ed6bd353bb777bf9f01ec6e50ebdd44 /lib/libkse/thread/thr_sig.c
parent271b33587d1dec543e4b44ec4200f0262b78b981 (diff)
downloadFreeBSD-src-3d706405069c7f125b5f99b7c1bc918740b2c426.zip
FreeBSD-src-3d706405069c7f125b5f99b7c1bc918740b2c426.tar.gz
Do signal deferral for pthread_kill() as it was done in the old days.
Submitted by: deischen
Diffstat (limited to 'lib/libkse/thread/thr_sig.c')
-rw-r--r--lib/libkse/thread/thr_sig.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/lib/libkse/thread/thr_sig.c b/lib/libkse/thread/thr_sig.c
index 0f18477..dc6d209 100644
--- a/lib/libkse/thread/thr_sig.c
+++ b/lib/libkse/thread/thr_sig.c
@@ -628,27 +628,10 @@ _thread_sig_send(pthread_t pthread, int sig)
!sigismember(&pthread->sigmask, sig)) {
/* Perform any state changes due to signal arrival: */
thread_sig_check_state(pthread, sig);
-
-#ifndef _NO_UNDISPATCH
- if (_thread_run != pthread) {
- /*
- * Make a note to call the signal handler once
- * the signaled thread is running. This is
- * necessary in order to make sure that the
- * signal is delivered on the correct stack.
- */
- pthread->undispatched_signals++;
- } else {
-#endif
- /* Call the installed signal handler. */
- _thread_sig_deliver(pthread, sig);
-#ifndef _NO_UNDISPATCH
- }
-#endif
- } else {
- /* Increment the pending signal count. */
- sigaddset(&pthread->sigpend,sig);
}
+
+ /* Increment the pending signal count. */
+ sigaddset(&pthread->sigpend,sig);
}
}
OpenPOWER on IntegriCloud