🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #1791

SIGCHLD in subprocesses

#1791
From: markf
Date: Tue, 26 Dec 1989 22:41
26 lines
1474 bytes
There is a problem in emacs 18.55 with the handling of SIGCHLD signals
in subprocesses created by create-process() in process.c. The symptom
is that such subprocesses do not receive SIGCHLD signals from any
further child subprocesses that they might create. 

The problem as I see it is that there is explicit code in process.c to
inhibit the handling of SIGCHLD signals in create-process which is
inherited by the chld process. My fix was to re-enable the handling of
SIGCHLD in the child after the vfork. This works but might not be
exactly want you want. The HP-UX manual page for vfork warns that
during the [vfork, exec] window (i.e. the time in the child between
the vfork and the exec) "installing a catching function can affect
handling of the signal by the parent" if the installation is by
signal() and the handler is not SIG_DFL or SIG_IGN. I'm not sure
whether uses of sigsetmask affect the parent or not.

-Mark


Mark Friedman
MIT Artificial Intelligence Lab
545 Technology Sq.
Cambridge, Ma. 02139

markf@zurich.ai.mit.edu
Technical Details
Message-ID: <8912262241.AA08784@zurich.ai.mit.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ZURICH.AI.MIT.EDU!markf

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ZURICH.AI.MIT.EDU!markf
From: markf@ZURICH.AI.MIT.EDU
Newsgroups: gnu.emacs.bug
Subject: SIGCHLD in subprocesses
Message-ID: <8912262241.AA08784@zurich.ai.mit.edu>
Date: 26 Dec 89 22:41:28 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: markf@zurich.ai.mit.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 26