diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c index 3e31dede4c2..6df1bf7eff7 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -7084,11 +7084,13 @@ catch_child_signal (void) | |||
| 7084 | #endif | 7084 | #endif |
| 7085 | 7085 | ||
| 7086 | emacs_sigaction_init (&action, deliver_child_signal); | 7086 | emacs_sigaction_init (&action, deliver_child_signal); |
| 7087 | block_child_signal (); | ||
| 7087 | sigaction (SIGCHLD, &action, &old_action); | 7088 | sigaction (SIGCHLD, &action, &old_action); |
| 7088 | eassert (! (old_action.sa_flags & SA_SIGINFO)); | 7089 | eassert (! (old_action.sa_flags & SA_SIGINFO)); |
| 7089 | if (old_action.sa_handler != SIG_DFL && old_action.sa_handler != SIG_IGN | 7090 | if (old_action.sa_handler != SIG_DFL && old_action.sa_handler != SIG_IGN |
| 7090 | && old_action.sa_handler != deliver_child_signal) | 7091 | && old_action.sa_handler != deliver_child_signal) |
| 7091 | lib_child_handler = old_action.sa_handler; | 7092 | lib_child_handler = old_action.sa_handler; |
| 7093 | unblock_child_signal (); | ||
| 7092 | } | 7094 | } |
| 7093 | 7095 | ||
| 7094 | 7096 | ||