How about this:
IIUC, this changes init's behaviour to only sleep after it has just started a direct child, so as long as the /etc/inittab processes are stable, it will always reap distant orphans instantly; but it will still wait for 1 second before reaping a batch of processes that died at the same time it spawned a getty or something. Am I correct in my understanding? If I am: this reduces the number of cases where the window is hit, so it will certainly help; zombies will only be observable in some corner cases. However, this does not eliminate the behaviour entirely, it only makes it more rare - and more obscure. You _know_ that at some point someone is going to hit it and will get headaches trying to understand what is happening. I have no strong opinion on whether this is an overall improvement or not. It probably is, because /etc/inittab processes do not change often, so it makes the window really tiny. If you're not willing to go the (best, but more complex) route of maintaining a separate minimal respawn date for each of init's direct children and restructuring the reaper loop, I think the most important improvement would be a comment in init.c explaining why the zombie apocalypse may happen in what circumstances, and that it will only last one second. -- Laurent _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox