On Sat, Feb 21, 2004 at 09:41:52AM -0500, Bill Michaelson wrote: > >It is now indeed more discerning, but it has reported Fork failed. But > >the fork most certainly has not failed! The shell command invoked has > >run, and what's more, completed successfully, producing the expected files. > > >Does anyone have any ideas? > > [EMAIL PROTECTED] suggested: > > Can you check the errno? strerror(errno); should give you a string of why > it > failed. (Just be careful not to use other stuff which touches errno after > the > fork() > > > Of course - very good suggestion (embarrassed I didn't think of it)... > anyway... > > it returns 10, which perror tells me is "No child processes". > > Sooo, I suppose the spawned process is somehow disassociated from the > process group prior to execution of the wait() embedded within the > system()? Duuh... I'm still stumped, but I guess we are on to something? > > On the other hand, if a fork does really fail, one might expect errno to > be 10 in that case too. > > I've half a mind to break it out into a fork/exec/wait for myself, but, > uh, ugh. I guess I'm lazy. Please, briliant insights, anybody? >
Checking the kernel source for sys_wait4, it would appear the child has already disappeared (*shrug* not much of a kernel coder btw). What is the status of SIGCHLD? if its being ignored the child will be reaped straight away iirc. if its not, I guess it should still be around for wait4'ing. Probably for reliablity and portability, your own fork/exec/wait would be better I would imagine. - andrewg _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users