From: Stephen L Johnson Date: Mon, 26 Mar 2001 19:22:52 +0000 (+0000) Subject: fixed problem with restarted master processes not clearing sigmask X-Git-Tag: spong-2_7_4~10 X-Git-Url: http://git.etc.gen.nz/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbc42f20b73f8590c94b4c5633c0717e024011fe;p=spong.git fixed problem with restarted master processes not clearing sigmask --- diff --git a/src/spong-server.pl b/src/spong-server.pl index 15cb0c3..5156d15 100755 --- a/src/spong-server.pl +++ b/src/spong-server.pl @@ -6,7 +6,7 @@ # There are one or more update processes that listen for status updates # from client programs. -# $Id: spong-server.pl,v 1.39 2001/03/26 18:51:02 sljohnson Exp $ +# $Id: spong-server.pl,v 1.40 2001/03/26 19:22:52 sljohnson Exp $ use lib "@@LIBDIR@@"; @@ -1427,7 +1427,11 @@ sub chld_handler { # I'm the parent, save the new child pid $proc->{'pid'} = $pid; } else { - # I'm the parent, call the function I'm assigned + # Clear out the sig mask we inherit from poppa + my $sigset = POSIX::SigSet->new; + sigprocmask(SIG_SETMASK, $sigset ); + + # I'm the child, call the function I'm assigned &{$proc->{'func'}}(); } }