aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-05-26 16:59:33 +0000
committerRoland McGrath <roland@gnu.org>1995-05-26 16:59:33 +0000
commit074d099ee3d24bff029fc2d1b7162eb9000fbd68 (patch)
treef8d2b9d31f247b10c97872f48c79479e99e02144
parentcc2f1c49e9e6ce51e60c9462097914773311a161 (diff)
downloadglibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.zip
glibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.tar.gz
glibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.tar.bz2
Only notify the proc server for SIGCHLD when the SA_NOCLDSTOP bit actually changes.
-rw-r--r--sysdeps/mach/hurd/sigaction.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/sigaction.c b/sysdeps/mach/hurd/sigaction.c
index 91de02c..957068b 100644
--- a/sysdeps/mach/hurd/sigaction.c
+++ b/sysdeps/mach/hurd/sigaction.c
@@ -52,7 +52,8 @@ DEFUN(__sigaction, (sig, act, oact),
if (act != NULL)
ss->actions[sig] = a;
- if (act != NULL && sig == SIGCHLD)
+ if (act != NULL && sig == SIGCHLD &&
+ (a.sa_flags & SA_NOCLDSTOP) != (old.sa_flags & SA_NOCLDSTOP))
{
ss->critical_section = 1;
__spin_unlock (&ss->lock);