Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Sep 1997 19:49:17 -0700
From:      David Greenman <dg@root.com>
To:        "Jamil J. Weatherbee" <jamil@counterintelligence.ml.org>
Cc:        Greg Lehey <grog@lemis.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: SIGCLD 
Message-ID:  <199709020249.TAA16490@implode.root.com>
In-Reply-To: Your message of "Mon, 01 Sep 1997 18:45:36 PDT." <Pine.BSF.3.96.970901184254.3269A-100000@counterintelligence.ml.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>  however, you change the default to explicitly ignore the signal, the
>>  system ignores SIGCHLD and SIGCLD, but it also no longer creates
>>  zombie processes.  If you set the disposition of SIGCHLD and SIGCLD
>>  to ignore, but you call wait anyway, it waits until all child
>>  processes have terminated, and then returns -1 (error), with errno
>>  set to ECHILD.  You can achieve the same effect with sigaction by
>
>Ok, according to the man page the default is to ignore SIGCHLD, so in
>other words if I really don't care at all about the info in the data
>tables I don't need to install a handler that calls wait --- I just wanted
>to be sure that if I did not fool around with a SIGCHLD handler under
>freebsd that I wouldn't end up with hundreds on zombie processes waiting.

   Uh, I think you are misunderstanding this. Under FreeBSD, you *must*
call wait to reap child processes. Ignoring SIGCHLD doesn't let you off
the hook. The behavior is different under System V, but that isn't
relavent.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709020249.TAA16490>