diff options
author | Roland McGrath <roland@gnu.org> | 1995-05-26 16:59:33 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-05-26 16:59:33 +0000 |
commit | 074d099ee3d24bff029fc2d1b7162eb9000fbd68 (patch) | |
tree | f8d2b9d31f247b10c97872f48c79479e99e02144 /sysdeps/mach/hurd/sigaction.c | |
parent | cc2f1c49e9e6ce51e60c9462097914773311a161 (diff) | |
download | glibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.tar.gz glibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.tar.xz glibc-074d099ee3d24bff029fc2d1b7162eb9000fbd68.zip |
Only notify the proc server for SIGCHLD when the SA_NOCLDSTOP bit actually changes.
Diffstat (limited to 'sysdeps/mach/hurd/sigaction.c')
-rw-r--r-- | sysdeps/mach/hurd/sigaction.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/sigaction.c b/sysdeps/mach/hurd/sigaction.c index 91de02cd17..957068b168 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); |