[PATCH] Improve LinuxThreads compatibility in rfork()
Petr Salinger
Petr.Salinger at seznam.cz
Mon Jul 11 16:03:29 UTC 2011
> 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).
We used this:
#define RFTHPNSHIFT 24 /* reserve bits 24-30 */
#define RFTHPNMASK 0x7F /* for compatibility with linuxthreads/clone() */
/* allow to specify "clone exit parent notification" signal */
#define RFTHPNSIGNUM(flags) (((flags) >> RFTHPNSHIFT) & RFTHPNMASK)
Therefore signal #128 (_SIG_MAXSIG) cannot be selected.
Should the bit slice be 7 or 8 bits ?
Petr
More information about the freebsd-hackers
mailing list