Email List: Xaustin-group-lX
[All Lists]

Re: RE: Re: set -e and SIGCHLD

To: yyyyyyyyyyyyyy@xxxxxxxxxxxxx, yyyyy@xxxxxxxxxxxxxxxxxxx
Subject: Re: RE: Re: set -e and SIGCHLD
From: David Korn <yyy@xxxxxxxxxxxxxxxx>
Date: Tue, 13 Mar 2001 14:43:52 -0500 (EST)
cc: yyyyy@xxxxxxxxxxxxxxxxxxx
Subject: Re: RE: Re: set -e and SIGCHLD
--------

> Thank you Marc,
> 
> > To my way of thinking, the solution is clear:  have conforming exec()
> > implementations >always< reset SIGC[H]LD dispositions to SIG_DFL, and 
> > SA_NOCLDWAIT to zero.  This is the only technically sound solution.
This would violate the standard.  If I do signal(SIGCHLD,SIG_IGN)
before the exec, then in the child signal(SIGCHLD,...) must return
SIG_IGN according to the standard.  However, the implementation
can treat SIG_IGN as if it were SIG_DFL.
The standard seems to be silent as to whether SA_NOCLDWAIT is set
in the new process or not.
> 
> One other option tho: an environment variable a la LD_RUN_PATH et al.:
> 
>   export INHERIT_SIGCHLD_IGNORE=true
> 
> for anyone that really, really wants this incomprehensible
> functionality.
I don't think that environment variables should effect the behavior
of system calls. 
> 
> 

David Korn
research!dgk
yyy@xxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>