Roland McGrath [roland@xxxxxxxxxx] wrote: | > When global or container-init processes use CLONE_PARENT, they create a | > multi-rooted process tree. | | I take this to be the real motivation for your change. | But you don't mention it in the code comment. Well, it was - when I started. But my understanding of the comments was that the constraint could be extended to global init as well for the following reason. | | > + * Swapper process sets the handler for SIGCHLD to SIG_DFL. If init | > + * creates a sibling and the sibling exits, the SIGCHLD is sent to | > + * the swapper (since the swapper's handler for SIGCHLD is SIG_DFL). | > + * But since the swapper does not reap its children, the zombie will | > + * remain forever. So prevent init from using CLONE_PARENT. | | This would be fixed by having swapper set its SIGCHLD to SIG_IGN instead, | so such children self-reap. That seems like the better fix for that. Yes, that would fix the global init case. | | If you want to make this change because of container-init issues, I think | you should just say so independent of this global-init case. So can I leave the check for SIGNAL_UNKILLABLE but simplify the comments to refer to the multi-rooted process tree ? _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers