On 03/20, Thiago Macieira wrote:
On Friday 20 March 2015 19:14:04 Oleg Nesterov wrote:
quoted
Also. I forgot that the kernel always resets ->exit_signal to SIGCHLD on
exec or reparenting. Reparenting is probably fine. But what about exec?
Should it keep ->exit_signal == 0 if "autoreap" ? I think it should not, to
avoid the strange special case.
Not delivering any signal was the objective of this patch series, so yes
exit_signal == 0 should survive an exec and even re-exec.
OK, but then perhaps we should never send SIGCHLD (on exit) if "autoreap",
to make the logic simple.
And copy_process() should probably do
if ((clone_flags & CSIGNAL) && (clone_flags && CLONE_AUTOREAP))
return -EINVAL;
so that we still can change this behaviour later.
Oleg.