What beats me is that the bug is most likely related to runsvdir -P using setsid to run the children in new process groups. Skickad via BlackBerry Hub för Android
this might be some quirke bug on Linux 3.10.108 or with uClibc, my zombies doesnt reparent to process 1 but to process 0. :-() Skickad via BlackBerry Hub för Android
Hello, On Thu, Jan 4, 2018 at 6:53 PM, Cathey, Jim <[email protected]> wrote: >Unconditionally sleeping when signals may arrive is a no-no. * sleep() in musl is implemented using nanosleep() [1]. * ucLibc-ng is using nanosleep() too [2], and implement a workaround for an old linux bug (it seems that this workaround is not needed) * and surpris, sleep() in the glibc is using... nanosleep() [3] Now, sleep() shall be interrupted by any signal who either has a handler in the thread or terminates the program [A]. The sames goes for nanosleep() [B]. So when you install a SIGCHLD handler, the signal will kill sleep(). Now, SIGCHLD is not catched by default (man 7 signal says the default is set to "ignore"). So while sleep() is still interruptible, it won't be if the delivered signal is SIGCHLD - unless you install a handler for this signal. Since busybox' init does not do that, then no, sleep() will not be interrupted in that case (and you face the problem Laurent describes).
Best regards, -- Emmanuel Deloget | ||||
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
