From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: SIGCHLD in vfork child context Date: Sun, 21 May 2017 02:01:25 -0700 Organization: UCLA Computer Science Department Message-ID: <16e9a328-5bb7-3ff9-7cdd-0de4d263d65c@cs.ucla.edu> References: <0b475f31-f024-9a09-6f5f-22e42d091bd2@cs.ucla.edu> <5f8efbc5-1cb9-5e2c-65c6-f09cf0bdfd89@cs.ucla.edu> <94d441f90dabb7c8e1cfe108903444b4.squirrel@weber.math.s.chiba-u.ac.jp> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------903016C52E46F6055B4611E3" X-Trace: blaine.gmane.org 1495357338 17770 195.159.176.226 (21 May 2017 09:02:18 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 21 May 2017 09:02:18 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 Cc: emacs-devel@gnu.org To: mituharu@math.s.chiba-u.ac.jp Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun May 21 11:02:15 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCMkf-0004Vv-RN for ged-emacs-devel@m.gmane.org; Sun, 21 May 2017 11:02:13 +0200 Original-Received: from localhost ([::1]:36829 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCMkl-0003wY-Gs for ged-emacs-devel@m.gmane.org; Sun, 21 May 2017 05:02:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33071) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCMk1-0003wT-Iu for emacs-devel@gnu.org; Sun, 21 May 2017 05:01:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCMjw-0002wF-OB for emacs-devel@gnu.org; Sun, 21 May 2017 05:01:33 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:54888) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dCMjw-0002wB-Hv for emacs-devel@gnu.org; Sun, 21 May 2017 05:01:28 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7E486160051; Sun, 21 May 2017 02:01:27 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id sWcyxGY1_9j3; Sun, 21 May 2017 02:01:26 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 870EA16007F; Sun, 21 May 2017 02:01:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id U31OUXs1TNDZ; Sun, 21 May 2017 02:01:26 -0700 (PDT) Original-Received: from [192.168.1.9] (unknown [47.153.188.248]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 63284160051; Sun, 21 May 2017 02:01:26 -0700 (PDT) In-Reply-To: <94d441f90dabb7c8e1cfe108903444b4.squirrel@weber.math.s.chiba-u.ac.jp> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:215043 Archived-At: This is a multi-part message in MIME format. --------------903016C52E46F6055B4611E3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit mituharu@math.s.chiba-u.ac.jp wrote: > Could you install a similar change to process.c, too? Sure, done via the attached. --------------903016C52E46F6055B4611E3 Content-Type: text/x-patch; name="0001-Work-around-macOS-bug-in-create_process-too.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Work-around-macOS-bug-in-create_process-too.patch" >From b1b570410f63e1f204677827530023ffc12218d6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 21 May 2017 02:00:02 -0700 Subject: [PATCH] Work around macOS bug in create_process, too * src/process.c (create_process) [DARWIN_OS]: Reset SIGCHLD after vfork here, too. --- src/process.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/process.c b/src/process.c index c301739..2a1c2ee 100644 --- a/src/process.c +++ b/src/process.c @@ -2051,11 +2051,16 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir) #ifdef DARWIN_OS /* Darwin doesn't let us run setsid after a vfork, so use fork when - necessary. */ + necessary. Also, reset SIGCHLD handling after a vfork, as + apparently macOS can mistakenly deliver SIGCHLD to the child. */ if (pty_flag) pid = fork (); else - pid = vfork (); + { + pid = vfork (); + if (pid == 0) + signal (SIGCHLD, SIG_DFL); + } #else pid = vfork (); #endif -- 2.7.4 --------------903016C52E46F6055B4611E3--