From owner-freebsd-current Tue Dec 15 15:09:17 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA10966 for freebsd-current-outgoing; Tue, 15 Dec 1998 15:09:17 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from lamb.sas.com (lamb.sas.com [192.35.83.8]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA10961 for ; Tue, 15 Dec 1998 15:09:13 -0800 (PST) (envelope-from jwd@unx.sas.com) Received: from mozart (mozart.unx.sas.com [192.58.184.8]) by lamb.sas.com (8.9.1/8.9.1) with SMTP id RAA20066 for ; Tue, 15 Dec 1998 17:45:09 -0500 (EST) Received: from bb01f39.unx.sas.com by mozart (5.65c/SAS/Domains/5-6-90) id AA14619; Tue, 15 Dec 1998 17:45:08 -0500 Received: (from jwd@localhost) by bb01f39.unx.sas.com (8.9.1/8.9.1) id RAA21523 for freebsd-current@freebsd.org; Tue, 15 Dec 1998 17:45:08 -0500 (EST) (envelope-from jwd) From: "John W. DeBoskey" Message-Id: <199812152245.RAA21523@bb01f39.unx.sas.com> Subject: Inetd 1.42 now blocking all signals in child by default To: freebsd-current@FreeBSD.ORG Date: Tue, 15 Dec 1998 17:45:08 -0500 (EST) X-Mailer: ELM [version 2.4ME+ PL38 (25)] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, Well, the good news is I haven't made inetd fail... The bad news is that by default the SIGCHLD, SIGHUP and, SIGALRM signals are now being blocked when the fork()/exec() calls are made. So... The child process does not receive these signals by default anymore. This is major behavior modification and definitely causes some very interesting side effects... :-) Love them Zombies! We still need to unblock the signals in the child process after the fork... The following should do the trick: --- inetd.c.orig Mon Dec 14 02:07:34 1998 +++ inetd.c Tue Dec 15 17:20:02 1998 @@ -555,6 +555,7 @@ /* sigsetmask(0L); */ if (pid == 0) { if (dofork) { + sigsetmask(0L); if (debug) warnx("+ closing from %d", maxsock); for (tmpint = maxsock; tmpint > 2; tmpint--) Hey! As always comments, critiques, and hints are most welcome... Thanks! John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message