# make sure that modules are searched in the order local then perl
BEGIN {
+ umask 002;
+
# root of directory tree for this system
$root = "/spider";
$root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
use Bands;
use Geomag;
use CmdAlias;
+use Filter;
use Local;
use Fcntl ':flock';
@inqueue = (); # the main input queue, an array of hashes
$systime = 0; # the time now (in seconds)
-$version = "1.23"; # the version no of the software
+$version = "1.26"; # the version no of the software
$starttime = 0; # the starting time of the cluster
$lockfn = "cluster.lock"; # lock file name
sub cease
{
my $dxchan;
+
+ $SIG{'TERM'} = 'IGNORE';
+ $SIG{'INT'} = 'IGNORE';
eval {
Local::finish(); # end local processing
foreach $dxchan (DXChannel->get_all()) {
disconnect($dxchan) unless $dxchan == $DXProt::me;
}
+ Msg->event_loop(1, 0.05);
+ Msg->event_loop(1, 0.05);
+ Msg->event_loop(1, 0.05);
+ Msg->event_loop(1, 0.05);
+ DXUser::finish();
Log('cluster', "DXSpider V$version stopped");
unlink $lockfn;
exit(0);
# initialise User file system
print "loading user file system ...\n";
-DXUser->init($userfn);
+DXUser->init($userfn, 1);
# start listening for incoming messages/connects
print "starting listener ...\n";
last if --$decease <= 0;
}
}
+cease(0);
+exit(0);