aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2017-05-21 01:46:44 -0700
committerPaul Eggert2017-05-21 01:47:31 -0700
commitcb6d66974416f535fefb42c974b73037e257399a (patch)
tree85a960b3e725df3da1cc1312a31a13e07416b2bb /src
parent97c7a61d90987e182c1d2ec40fbe0d1d7df844c5 (diff)
downloademacs-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.c8
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