diff options
author | jasone <jasone@FreeBSD.org> | 2000-01-20 04:46:52 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-01-20 04:46:52 +0000 |
commit | 3d706405069c7f125b5f99b7c1bc918740b2c426 (patch) | |
tree | 33117cde5ed6bd353bb777bf9f01ec6e50ebdd44 /lib/libkse/thread/thr_sig.c | |
parent | 271b33587d1dec543e4b44ec4200f0262b78b981 (diff) | |
download | FreeBSD-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.c | 23 |
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); } } |