Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!yale!cmcl2!adm!smoke!gwyn From: gwyn@smoke.brl.mil (Doug Gwyn) Newsgroups: comp.unix.questions Subject: Re: Question on fork(), exec(), kill() Message-ID: <16280@smoke.brl.mil> Date: 27 May 91 03:14:47 GMT References: <16177@smoke.brl.mil> <29877@hydra.gatech.EDU> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 13 In article <29877@hydra.gatech.EDU> gt0178a@prism.gatech.EDU (BURNS) writes: >If the SIG_DFL for SIGCHLD is to discard the signal, why do you HAVE to >wait for the child? I can't speak for HP-UX, but in general SIGCHLD/SIGCLD is pretty badly botched. In the original System V implementation, how you set SIGCLD also determines the semantics for a subsequent wait() system call. All I can suggest is (a) leave SIGCLD alone, and (b) if you're trying to use SIGCLD anyway, check the SPECIFIC system manual and be very careful. In good old original UNIX, the only way to get rid of a zombie was to wait() on it, and if its parent terminated, then init (Process #1) would inherit it and IT would wait() on it.