From: Denis D. <dp...@al...> - 2001-01-14 07:16:50
|
Hi Brian, I put in about 2 days on this and have finally determined what is going on. It seems the 2.4.0 kernel for the SH is starting up the init process with SIG_CHLD set to SIG_IGN and not SIG_DFL. All child processes are getting reaped by the init process rather than waiting around as zombies. This is why pclose fails. The seems to be a 2.4.0 SH kernel problem but I could not find a way to fix this. Instead I set SIG_CHLD to SIG_DFL in the busybox init program I am using and all works correctly. I suspect that this is fixed in the latest BusyBox release and broken in 0.48. Strange though? Regards, Denis. ---------- > From: Bryan Rittmeyer <br...@ix...> > To: Denis Dowling <ddo...@po...> > Cc: lin...@li... > Subject: Re: [linuxsh-dev] waitpid and 2.4.0 kernel > Date: Sunday, 14 January 2001 7:15 > > Denis Dowling wrote: > > > I am trying to chace down a problem with popen() and pclose() using the > > latest 2.4.0 kernel on the SuperH. I seems that waitpid is always > > returning ECHILD even when the child process pid is correct and the > > process has exited correctly. Is anyone else seeing this? > > Yep. Interestingly enough, it shows up with the latest CVS version of > BusyBox, but not with the 0.48 BusyBox release (or maybe vice versa, I > don't remember exactly). I started noticing it after moving from -test10 > to 2.4.0, but I also changed binutils / gcc / glibc at the same time. > Not precisely sure it's a kernel problem... > > Regards, > > Bryan > > -- > Bryan Rittmeyer > mailto:br...@ix... > Ixia Communications > 26601 W. Agoura Rd. > Calabasas, CA 91302 |