diff options
| author | Xue Fuqiao | 2013-06-04 07:34:27 +0800 |
|---|---|---|
| committer | Xue Fuqiao | 2013-06-04 07:34:27 +0800 |
| commit | c362f1950814689b0a6f03f0fa48b07784b90a16 (patch) | |
| tree | ecb082e3fcca890b57ddc42f733808cca5e782a3 /src/process.c | |
| parent | d3ffe17c6f56435ebd2aca787122a3982ac5fcb2 (diff) | |
| parent | b9110c6b2f796b5147b018c3d70df9d6af657eff (diff) | |
| download | emacs-c362f1950814689b0a6f03f0fa48b07784b90a16.tar.gz emacs-c362f1950814689b0a6f03f0fa48b07784b90a16.zip | |
Merge from mainline.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c index 45e8afdd22c..33035078df9 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4528,7 +4528,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, | |||
| 4528 | } | 4528 | } |
| 4529 | #endif | 4529 | #endif |
| 4530 | 4530 | ||
| 4531 | #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) | 4531 | #if defined (HAVE_GLIB) |
| 4532 | nfds = xg_select | 4532 | nfds = xg_select |
| 4533 | #elif defined (HAVE_NS) | 4533 | #elif defined (HAVE_NS) |
| 4534 | nfds = ns_select | 4534 | nfds = ns_select |
| @@ -7029,6 +7029,17 @@ integer or floating point values. | |||
| 7029 | return system_process_attributes (pid); | 7029 | return system_process_attributes (pid); |
| 7030 | } | 7030 | } |
| 7031 | 7031 | ||
| 7032 | #ifndef NS_IMPL_GNUSTEP | ||
| 7033 | static | ||
| 7034 | #endif | ||
| 7035 | void | ||
| 7036 | catch_child_signal (void) | ||
| 7037 | { | ||
| 7038 | struct sigaction action; | ||
| 7039 | emacs_sigaction_init (&action, deliver_child_signal); | ||
| 7040 | sigaction (SIGCHLD, &action, 0); | ||
| 7041 | } | ||
| 7042 | |||
| 7032 | 7043 | ||
| 7033 | /* This is not called "init_process" because that is the name of a | 7044 | /* 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. */ | 7045 | Mach system call, so it would cause problems on Darwin systems. */ |
| @@ -7044,9 +7055,7 @@ init_process_emacs (void) | |||
| 7044 | if (! noninteractive || initialized) | 7055 | if (! noninteractive || initialized) |
| 7045 | #endif | 7056 | #endif |
| 7046 | { | 7057 | { |
| 7047 | struct sigaction action; | 7058 | catch_child_signal (); |
| 7048 | emacs_sigaction_init (&action, deliver_child_signal); | ||
| 7049 | sigaction (SIGCHLD, &action, 0); | ||
| 7050 | } | 7059 | } |
| 7051 | 7060 | ||
| 7052 | FD_ZERO (&input_wait_mask); | 7061 | FD_ZERO (&input_wait_mask); |