Shell out bug in pg (but a more general problem)

Guy Harris guy at rlgvax.UUCP
Fri Mar 8 09:47:05 AEST 1985


Code which starts up a child process and does a general "wait" for any
children without checking that the child they're interested in is what
exited is broken, due, as you mentioned, to the fact that the shell's
way of setting up pipelines creates unexpected edges in the family
tree of processes.  This was discovered in the 4.2BSD "crypt" a while
ago, so such broken code is not restricted to System V.

Any such code out there should be redone, and all future code which
waits for children *must* check that the process which exited is the
process that was being waited for.

I don't know how seriously to take the comment about SIGCLD and SIGPWR,
considering 1) the System III manual said they'd go away, and they're still
here and 2) System V's "init" uses both of those signals.
-- 
	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy



More information about the Comp.unix.wizards mailing list