aboutsummaryrefslogtreecommitdiff
path: root/lib/libc_r/uthread/uthread_sig.c
diff options
context:
space:
mode:
authorJason Evans <jasone@FreeBSD.org>2000-01-20 04:46:52 +0000
committerJason Evans <jasone@FreeBSD.org>2000-01-20 04:46:52 +0000
commitadbd6ee028c873423cef93372c381dae9f72fbbd (patch)
tree24e227ba9505768fd84305e0d36f27820ba33cef /lib/libc_r/uthread/uthread_sig.c
parented25321907f057ad8bb4538de167bba84a25f49d (diff)
downloadsrc-adbd6ee028c873423cef93372c381dae9f72fbbd.tar.gz
src-adbd6ee028c873423cef93372c381dae9f72fbbd.zip
Do signal deferral for pthread_kill() as it was done in the old days.
Submitted by: deischen
Notes
Notes: svn path=/head/; revision=56310
Diffstat (limited to 'lib/libc_r/uthread/uthread_sig.c')
-rw-r--r--lib/libc_r/uthread/uthread_sig.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/lib/libc_r/uthread/uthread_sig.c b/lib/libc_r/uthread/uthread_sig.c
index 0f18477d0e9a..dc6d209f85b0 100644
--- a/lib/libc_r/uthread/uthread_sig.c
+++ b/lib/libc_r/uthread/uthread_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);
}
}