]> git.etc.gen.nz Git - spong.git/commitdiff
Smarter HUP handling that handles restarting with both --debug and
authorMichael Brown <michaelb@opentext.com>
Wed, 20 Jun 2001 17:10:22 +0000 (17:10 +0000)
committerMichael Brown <michaelb@opentext.com>
Wed, 20 Jun 2001 17:10:22 +0000 (17:10 +0000)
--nodaemonize options.
Before, --nodaemonize wasn't being passed to the re-execed spong-*.

src/spong-client.pl
src/spong-network.pl
src/spong-server.pl

index 89c84bd48debfa956ca888cd9e7d3f24982ad2cb..11a6c8c78cdea1d22376faa16f742d94bb928c98 100755 (executable)
@@ -12,7 +12,7 @@
 # History:
 # (1) Ported bb-local.sh script to perl. (Ed Hill Feb 26, 1997)
 #
-# $Id: spong-client.pl,v 1.18 2001/06/19 21:24:32 supermathie Exp $
+# $Id: spong-client.pl,v 1.19 2001/06/20 17:10:22 supermathie Exp $
 
 use lib '@@LIBDIR@@';
 
@@ -244,8 +244,9 @@ sub hup_handler {
    &debug( "caught HUP signal, restarting..." );
    unlink "$SPONGTMP/spong-client.pid" if -f "$SPONGTMP/spong-client.pid";
    $SIG{$_[0]} = \&hup_handler;
-   if( $debug ) { exec $me, "--debug", $debug; } else { exec $me; }
-   exit(0);
+   if( $debug ) { push(@args, "--debug", $debug); }
+   if( $nodaemonize ) { push(@args, "--nodaemonize"); }
+   exec $me, @args or die "Couldn't exec $me after HUP";
 }
 
 sub pipe_handler {
index 847853eabeb0c94b25a3e63250d758ab573bdfa4..e93d595fce72be6a0cc92552c94e1580b7bfc1a1 100755 (executable)
@@ -17,7 +17,7 @@
 # (2) Converted checks to new plugin mechanism (Stephen Johnson May 28, 1999)
 #     Added user-configurable escalation mechanism
 #
-# $Id: spong-network.pl,v 1.38 2001/06/19 21:24:32 supermathie Exp $
+# $Id: spong-network.pl,v 1.39 2001/06/20 17:10:22 supermathie Exp $
 
 use Carp;
 use lib "@@LIBDIR@@";
@@ -553,7 +553,10 @@ sub hup_handler {
    &debug( "caught HUP signal, restarting..." );
    unlink "$SPONGTMP/spong-network.pid" if "$SPONGTMP/spong-network.pid";
    alarm(0);
-   if( $debug ) { exec $me, "--debug", $debug; } else { exec $me; }
+   @args = ($me);
+   if( $debug ) { push(@args, "--debug", $debug); }
+   if( $nodaemonize ) { push(@args, "--nodaemonize"); }
+   exec $me, @args or die "Couldn't exec $me after HUP";
 }
 
 sub pipe_handler {
index 3c7a23b36a36d505749f8c95e3a4044bfbbaebd9..303e88a043a19294f35d7c0e0dfd4a83aff10845 100755 (executable)
@@ -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.43 2001/06/19 21:28:02 supermathie Exp $
+# $Id: spong-server.pl,v 1.44 2001/06/20 17:10:22 supermathie Exp $
 
 use lib "@@LIBDIR@@";
 
@@ -1408,7 +1408,9 @@ sub hup_handler {
 #   kill QUIT,$bb_pid;  waitpid($bb_pid,0);
    unlink "$SPONGTMP/spong-server.pid" if -f "$SPONGTMP/spong-server.pid";
    close( SERVER );
-   if( $debug ) { exec $me, "--debug", $debug; } else { exec $me; }
+   if( $debug ) { push(@args, "--debug", $debug); }
+   if( $nodaemonize ) { push(@args, "--nodaemonize"); }
+   exec $me, @args or die "Couldn't exec $me after HUP";
 }
 
 # If the child process dies for some reason, then we restart it.