From cb6d66974416f535fefb42c974b73037e257399a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 21 May 2017 01:46:44 -0700 Subject: [PATCH] Work around macOS bug with vforked child * src/callproc.c (call_process) [DARWIN_OS]: Include workaround for apparent macOS bug. --- src/callproc.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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, if (pid == 0) { +#ifdef DARWIN_OS + /* Work around a macOS bug, where SIGCHLD is apparently + delivered to a vforked child instead of to its parent. See: + http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html + */ + signal (SIGCHLD, SIG_DFL); +#endif + unblock_child_signal (&oldset); #ifdef DARWIN_OS -- 2.39.2