diff options
| author | Paul Eggert | 2017-05-21 01:46:44 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-05-21 01:47:31 -0700 |
| commit | cb6d66974416f535fefb42c974b73037e257399a (patch) | |
| tree | 85a960b3e725df3da1cc1312a31a13e07416b2bb /src | |
| parent | 97c7a61d90987e182c1d2ec40fbe0d1d7df844c5 (diff) | |
| download | emacs-cb6d66974416f535fefb42c974b73037e257399a.tar.gz emacs-cb6d66974416f535fefb42c974b73037e257399a.zip | |
Work around macOS bug with vforked child
* src/callproc.c (call_process) [DARWIN_OS]:
Include workaround for apparent macOS bug.
Diffstat (limited to 'src')
| -rw-r--r-- | src/callproc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/callproc.c b/src/callproc.c index 7c85eed835f..4cec02be7ef 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -631,6 +631,14 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 631 | 631 | ||
| 632 | if (pid == 0) | 632 | if (pid == 0) |
| 633 | { | 633 | { |
| 634 | #ifdef DARWIN_OS | ||
| 635 | /* Work around a macOS bug, where SIGCHLD is apparently | ||
| 636 | delivered to a vforked child instead of to its parent. See: | ||
| 637 | http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html | ||
| 638 | */ | ||
| 639 | signal (SIGCHLD, SIG_DFL); | ||
| 640 | #endif | ||
| 641 | |||
| 634 | unblock_child_signal (&oldset); | 642 | unblock_child_signal (&oldset); |
| 635 | 643 | ||
| 636 | #ifdef DARWIN_OS | 644 | #ifdef DARWIN_OS |