Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Jul 1995 15:23:14 +1000
From:      Bruce Evans <bde@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
Message-ID:  <199507160523.PAA14762@godzilla.zeta.org.au>

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



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