init not processing SIGCHLD during reboot?

Rob Landley rob at landley.net
Sat Dec 2 14:04:34 PST 2006


On Saturday 02 December 2006 3:35 pm, Paul Smith wrote:
> On Sat, 2006-12-02 at 12:13 -0500, Rob Landley wrote:
> 
> > > The loop in init starts any unstarted  RESPAWN and ASKFIRST commands, 
then
> > > it sleeps for one second, then it does a wait() to sleep until one of
> > > its children dies.
> > 
> > The reason init programs want to sit in a wait() loop is so that they can 
> > restart things that die.  But if all you want to do is reap zombies (such 
as 
> > during shutdown), set the SIGCHLD handler to SIG_IGNORE.
> 
> As I mentioned in one of my earlier emails, this is not portable.
> Although current versions of the POSIX/SUS spec require SIGCHLD set to
> SIG_IGN to reap children, older versions of POSIX did not require that;
> in fact the behavior was undefined (ditto for BSD).

So you say that behavior required by SUSv3 isn't something you're willing to 
rely on, yet BusyBox has been targeting susv3 for how many years now?  (The 
austin group was when?)

My lack of caring is deep, and profound.

> I'm not sure what the portability requirements are for BusyBox

SUSv3.

Rob
-- 
"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery


More information about the busybox mailing list