diff options
author | Jason Evans <jasone@FreeBSD.org> | 2000-01-20 04:46:52 +0000 |
---|---|---|
committer | Jason Evans <jasone@FreeBSD.org> | 2000-01-20 04:46:52 +0000 |
commit | adbd6ee028c873423cef93372c381dae9f72fbbd (patch) | |
tree | 24e227ba9505768fd84305e0d36f27820ba33cef /lib/libc_r/uthread/uthread_sig.c | |
parent | ed25321907f057ad8bb4538de167bba84a25f49d (diff) | |
download | src-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.c | 23 |
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); } } |