diff options
author | deischen <deischen@FreeBSD.org> | 1999-12-17 00:56:36 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 1999-12-17 00:56:36 +0000 |
commit | 17ee572a14054fb3c892f9dc5ee491e75bc8f3f5 (patch) | |
tree | 5d51d9a812640e396f61d1c8d3b91b7f6c0cdba7 /lib/libpthread/thread/thr_wait4.c | |
parent | 3bd28ea93ef0db4dbbbf6b6671392ccbc020a864 (diff) | |
download | FreeBSD-src-17ee572a14054fb3c892f9dc5ee491e75bc8f3f5.zip FreeBSD-src-17ee572a14054fb3c892f9dc5ee491e75bc8f3f5.tar.gz |
Fixes for signal handling:
o Don't call signal handlers with the signal handler access lock
held.
o Remove pending signals before calling signal handlers. If
pending signals were not removed prior to handling them,
invocation of the handler could cause the handler to be
called more than once for the same signal. Found by: JB
o When SIGCHLD arrives, wake up all threads in PS_WAIT_WAIT
(wait4).
PR: bin/15328
Reviewed by: jasone
Diffstat (limited to 'lib/libpthread/thread/thr_wait4.c')
-rw-r--r-- | lib/libpthread/thread/thr_wait4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libpthread/thread/thr_wait4.c b/lib/libpthread/thread/thr_wait4.c index baa697c..4a58a70 100644 --- a/lib/libpthread/thread/thr_wait4.c +++ b/lib/libpthread/thread/thr_wait4.c @@ -40,7 +40,7 @@ pid_t wait4(pid_t pid, int *istat, int options, struct rusage * rusage) { - pid_t ret; + pid_t ret; _thread_enter_cancellation_point(); _thread_kern_sig_defer(); |