From owner-freebsd-hackers Mon Sep 1 19:48:14 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA08923 for hackers-outgoing; Mon, 1 Sep 1997 19:48:14 -0700 (PDT) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA08917 for ; Mon, 1 Sep 1997 19:48:09 -0700 (PDT) Received: from implode.root.com (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with ESMTP id TAA16490; Mon, 1 Sep 1997 19:49:17 -0700 (PDT) Message-Id: <199709020249.TAA16490@implode.root.com> To: "Jamil J. Weatherbee" cc: Greg Lehey , freebsd-hackers@FreeBSD.ORG Subject: Re: SIGCLD In-reply-to: Your message of "Mon, 01 Sep 1997 18:45:36 PDT." From: David Greenman Reply-To: dg@root.com Date: Mon, 01 Sep 1997 19:49:17 -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >> 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