summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_kern.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/libpthread/thread/thr_kern.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/libpthread/thread/thr_kern.c')
-rw-r--r--lib/libpthread/thread/thr_kern.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c
index b833061..3e0ff17 100644
--- a/lib/libpthread/thread/thr_kern.c
+++ b/lib/libpthread/thread/thr_kern.c
@@ -39,7 +39,9 @@
#include <string.h>
#include <unistd.h>
#include <setjmp.h>
+#include <sys/param.h>
#include <sys/types.h>
+#include <sys/signalvar.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/socket.h>
@@ -122,16 +124,12 @@ __asm__("fnsave %0": :"m"(*fdata));
pthread_testcancel();
}
-#ifndef _NO_UNDISPATCH
/*
* Check for undispatched signals due to calls to
* pthread_kill().
*/
- if (_thread_run->undispatched_signals != 0) {
- _thread_run->undispatched_signals = 0;
+ if (SIGNOTEMPTY(_thread_run->sigpend))
_dispatch_signals();
- }
-#endif
if (_sched_switch_hook != NULL) {
/* Run the installed switch hook: */
OpenPOWER on IntegriCloud