Subject: Re: Inheritance of P_CLDSIGIGN
To: None <>
From: Quentin Garnier <>
List: tech-kern
Date: 05/17/2005 15:55:07
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, May 17, 2005 at 08:55:06AM -0400, Allen Briggs wrote:
> On Tue, May 17, 2005 at 12:00:47PM +0200, Quentin Garnier wrote:
> > The attached patch fixes the issue, however it is not my area of
> > expertise, so it might not be the right place to do that.  Also, we
> > might want to save P_NOCLD{STOP,WAIT}.
> > Comments?
> This looks right to me.  As for preserving P_NOCLD{STOP,WAIT}, is
> that covered by any relevant standards?

SUSv2 says "The fork() function creates a new process. The new process
(child process) is an exact copy of the calling process (parent process)
except as detailed below."

Then "The inheritance of process characteristics not defined by this
document is implementation-dependent."

P_CLDSIGIGN is covered by SUSv2 (in exit(3), "If the parent process has
set its SA_NOCLDWAIT flag, or set SIGCHLD to SIG_IGN, the status will be
discarded, and the lifetime of the calling process will end
immediately.").  So are SA_NOCLDWAIT and SA_NOCLDSTOP, so I'd say we
should inherit them, as none of those characteristics are covered by the
exceptions listed on the fork() page.

Quentin Garnier - -
"When I find the controls, I'll go where I like, I'll know where I want
to be, but maybe for now I'll stay right here on a silent sea."
KT Tunstall, Silent Sea, Eye to the Telescope, 2004.

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.6 (NetBSD)