Subject: Re: CVS commit: src/usr.sbin/inetd
To: Jason Thorpe <thorpej@shagadelic.org>
From: Christos Zoulas <christos@zoulas.com>
List: source-changes
Date: 04/09/2005 21:22:29
On Apr 9,  6:09pm, thorpej@shagadelic.org (Jason Thorpe) wrote:
-- Subject: Re: CVS commit: src/usr.sbin/inetd

| > Module Name:    src
| > Committed By:    christos
| > Date:        Sat Apr  9 20:14:55 UTC 2005
| >
| > Modified Files:
| >     src/usr.sbin/inetd: inetd.c
| >
| > Log Message:
| > Don't ignore SIGCHLD, because we are not going to get kqueue  
| > notifications
| > about it if we do.
| 
| Uh, is that right?

I have been thinking about that too. The problem is that the way
SIGCHLD, SIG_IGN works both on FreeBSD and NetBSD is similar to
SA_NOCLDWAIT. I.e. on exit, the process gets re-parented to init
and so the real parent never gets the signal. Fixing this, i.e.
making the process follow the real signal path, and then not
creating a zombie is a bit more complicated. I think that overloading
SIG_IGN in the first place to still have the process receive kqueue
notifications was not a great idea.

christos