1. Added an efficiency thing for AUTOLOADed accessors from OO Perl by Conway.
[spider.git] / perl / cluster.pl
index 6ed864b13578ce5bf175310b92351128110ef4bc..1ecbc094a704487fd96c3998a560eb493d02f976 100755 (executable)
@@ -71,7 +71,7 @@ package main;
 
 @inqueue = ();                                 # the main input queue, an array of hashes
 $systime = 0;                                  # the time now (in seconds)
-$version = "1.43";                             # the version no of the software
+$version = "1.44";                             # the version no of the software
 $starttime = 0;                 # the starting time of the cluster   
 $lockfn = "cluster.lock";       # lock file name
 @outstanding_connects = ();     # list of outstanding connects
@@ -327,17 +327,23 @@ dbg('err', "starting listener ...");
 Msg->new_server("$clusteraddr", $clusterport, \&login);
 
 # prime some signals
-$SIG{'INT'} = \&cease;
-$SIG{'TERM'} = \&cease;
-$SIG{'HUP'} = 'IGNORE';
-$SIG{'CHLD'} = \&reap;
+$SIG{INT} = \&cease;
+$SIG{TERM} = \&cease;
+$SIG{HUP} = 'IGNORE';
+$SIG{CHLD} = \&reap;
 
 $SIG{PIPE} = sub {     dbg('err', "Broken PIPE signal received"); };
 $SIG{IO} = sub {       dbg('err', "SIGIO received"); };
-$SIG{ILL} = $SIG{FPE} = 
-       $SIG{SEGV} = $SIG{USR1} = $SIG{USR2} =
-       $SIG{BUS} = sub { my $sig = shift;      DXDebug::confess("Caught signal $sig");  };
-
+$SIG{WINCH} = $SIG{STOP} = $SIG{CONT} = 'IGNORE';
+$SIG{KILL} = 'DEFAULT';     # as if it matters....
+
+# catch the rest with a hopeful message
+for (keys %SIG) {
+       if (!$SIG{$_}) {
+#              dbg('chan', "Catching SIG $_");
+               $SIG{$_} = sub { my $sig = shift;       DXDebug::confess("Caught signal $sig");  }; 
+       }
+}
 
 # read in system messages
 DXM->init();