Re: [PATCH] Re: 8139too: defunct threads

From: Andreas Ferber (aferber@techfak.uni-bielefeld.de)
Date: Sat Apr 14 2001 - 18:29:42 EST


Hi,

On Sat, Apr 14, 2001 at 07:53:28PM +0100, Alan Cox wrote:
> > Rod's init version (from RH 7.0) doesn't reap children that died before
> > it was started. Is that an init bug or should the kernel reap them
> > before the execve?
> I would say thats an init bug

It doesn't seem to be that simple.

Redhat's init does child reaping in its SIGCHLD handler using the
following:

while((pid = waitpid(-1, &st, WNOHANG)) != 0) {
    if (errno == ECHILD) break;
    /* do some stuff, nothing which could break out of the loop */
}

This should reap all leftover childs from kernel startup when init
receives SIGCHLD for the first time, but somehow the kernel seems to
skip them while searching for a dead process in sys_wait4(). I can't
do any further testing because I don't have a 8139 NIC, but I can't
find a problem in init's child reaping code.

Please tell me if I'm missing something, but I think this is really a
kernel issue, not a bug in init.

Andreas

-- 
I've finally learned what "upward compatible" means.  It means we get to
keep all our old mistakes.
		-- Dennie van Tassel

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:23 EST