From owner-freebsd-commit Sat Jul 15 22:25:28 1995 Return-Path: commit-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id WAA06101 for commit-outgoing; Sat, 15 Jul 1995 22:25:28 -0700 Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id WAA06088 for cvs-gnu-outgoing; Sat, 15 Jul 1995 22:25:24 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id WAA06061 ; Sat, 15 Jul 1995 22:24:44 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id PAA14762; Sun, 16 Jul 1995 15:23:14 +1000 Date: Sun, 16 Jul 1995 15:23:14 +1000 From: Bruce Evans Message-Id: <199507160523.PAA14762@godzilla.zeta.org.au> To: CVS-commiters@freefall.cdrom.com, cvs-gnu@freefall.cdrom.com, wpaul@freefall.cdrom.com Subject: Re: cvs commit: src/gnu/usr.sbin/ypserv server.c yp_svc.c Sender: commit-owner@FreeBSD.org Precedence: bulk > Modified: usr.sbin/ypbind ypbind.c > gnu/usr.sbin/ypserv server.c yp_svc.c > Log: > Some small signal handling tweaks: be sure to keep wait3()ing until all > children are reaped and make sure to block SIGCHLD delivery during handler > execution when installing SIGCHLD handler with sigaction(). Er, blocking delivery of the signal being handled is the default for sigaction, and FreeBSD doesn't provide a way to avoid blocking it (some systems provide SA_NOMASK to support bug for bug SysV compatibility). The method of reusing the old sa_mask makes it unclear which mask you are getting. If the old mask is unknown then it may have an unwanted SA_MASK in it (perhaps even an undocumented one if the mask was first set by signal()). It may be necessary to use SA_NOCLDSTOP to avoid seeing stopped children. Bruce