Re: [PATCH] Improve LinuxThreads compatibility in rfork()

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Mon, 11 Jul 2011 18:41:02 +0300
On Mon, Jul 11, 2011 at 05:43:23PM +0200, Petr Salinger wrote:
> >>The 1st patch satisfies this. I agree that SIGCHLD part
> >>is not easily readable.
> >The SIGCHLD part is ugly. This is why I am asking about possible ways
> >to overcome this.
> 
> We need a way to specify "no signal".
> It can be "new flag" or "ugly SIGCHLD".
> 
> new flag:
>   pros: cleaner design
>   cons: one bit of flags eaten
>   cons: GNU/kFreeBSD have to detect at runtime which "no signal" have to use
>   cons: GNU/kFreeBSD have to add "ugly SIGCHLD" for some time
>         (up-to and including next Debian release) anyway
> 
> ugly SIGCHLD:
>   pros: immediate GNU/kFreeBSD compatibility
>   cons: ugly design
> 
> But definitely, it would be much, much better to have "new flag" compared 
> to diverge indefinitely ;-)
> 
> What should be name of the "new flag" ?
> 
> #define RFTHPNONE (1<<19)  /* do not send exit notification signal to the 
> parent */
> 

I would instead use a new flag to specify a signal sent on the child
death. Like RFTSIGZMB. If flag is not set, SIGCHLD is used. If it is
set, the bit slice is used as signal number, 0 means do not send any
signal.

Please note that the signal should be checked for validity, it must be
<= _SIG_MAXSIG).

Received on Mon Jul 11 2011 - 13:41:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:15 UTC