Path: utzoo!mnetor!uunet!husc6!rutgers!ames!sdcsvax!ucsdhub!hp-sdd!hplabs!hpcea!hpfcdc!rml From: rml@hpfcdc.HP.COM (Bob Lenk) Newsgroups: comp.unix.wizards Subject: Re: Wait, Select, and a SIGCHLD Race Condition Message-ID: <5980016@hpfcdc.HP.COM> Date: 17 Dec 87 22:12:18 GMT References: <5105@sol.ARPA> Organization: HP Ft. Collins, Co. Lines: 19 > In summary: > > FASYNC > select timeout > longjmp A fourth (not necessarily better) alternative is to have an extra pipe or socket that the signal handler writes to, and select on it for reading. One reply alluded to this general type of mechanism, but didn't tie it into specific BSD features. One warning about the longjmp() method is that it can be troblesome in the presence of other signals. If SIGCHLD happens to interrupt another signal handler, that handler can be aborted. This can be avoided by setting the SIGCHLD bit in sv_mask for all other handlers that might be invoked, further complicating things. Bob Lenk {ihnp4, hplabs}!hpfcla!rml