aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c
index 45e8afdd22c..9df003fa3a3 100644
--- a/src/process.c
+++ b/src/process.c
@@ -7029,6 +7029,16 @@ integer or floating point values.
7029 return system_process_attributes (pid); 7029 return system_process_attributes (pid);
7030} 7030}
7031 7031
7032void
7033catch_child_signal (void)
7034{
7035#ifdef SIGCHLD
7036 struct sigaction action;
7037 emacs_sigaction_init (&action, deliver_child_signal);
7038 sigaction (SIGCHLD, &action, 0);
7039#endif
7040}
7041
7032 7042
7033/* This is not called "init_process" because that is the name of a 7043/* This is not called "init_process" because that is the name of a
7034 Mach system call, so it would cause problems on Darwin systems. */ 7044 Mach system call, so it would cause problems on Darwin systems. */
@@ -7044,9 +7054,7 @@ init_process_emacs (void)
7044 if (! noninteractive || initialized) 7054 if (! noninteractive || initialized)
7045#endif 7055#endif
7046 { 7056 {
7047 struct sigaction action; 7057 catch_child_signal ();
7048 emacs_sigaction_init (&action, deliver_child_signal);
7049 sigaction (SIGCHLD, &action, 0);
7050 } 7058 }
7051 7059
7052 FD_ZERO (&input_wait_mask); 7060 FD_ZERO (&input_wait_mask);