Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 1998 17:45:08 -0500 (EST)
From:      "John W. DeBoskey" <jwd@unx.sas.com>
To:        freebsd-current@FreeBSD.ORG
Subject:   Inetd 1.42 now blocking all signals in child by default
Message-ID:  <199812152245.RAA21523@bb01f39.unx.sas.com>

next in thread | raw e-mail | index | archive | help
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



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