X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=37ace021654a4858cab156ab4196e66c083e61e5;hb=b9dffeff7239952814342dad19db3a51def6fab7;hp=63839fdea89464ac03719af04d65fa295a1cf3b3;hpb=53149d8378ab6615e238427b46b64a59581604e1;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 63839fde..37ace021 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -101,11 +101,13 @@ use QSL; use RouteDB; use DXXml; use DXSql; +use IsoTime; use Data::Dumper; use IO::File; use Fcntl ':flock'; use POSIX ":sys_wait_h"; +use Version; use Local; @@ -120,24 +122,14 @@ use vars qw(@inqueue $systime $version $starttime $lockfn @outstanding_connects @inqueue = (); # the main input queue, an array of hashes $systime = 0; # the time now (in seconds) -$version = "1.52"; # the version no of the software $starttime = 0; # the starting time of the cluster -#@outstanding_connects = (); # list of outstanding connects +@outstanding_connects = (); # list of outstanding connects @listeners = (); # list of listeners $reqreg = 0; # 1 = registration required, 2 = deregister people $bumpexisting = 1; # 1 = allow new connection to disconnect old, 0 - don't allow it $allowdxby = 0; # 1 = allow "dx by ", 0 - don't allow it -use vars qw($VERSION $BRANCH $build $branch); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; -$main::build += 2; # fudge (put back for now) - - - # send a message to call on conn and disconnect sub already_conn { @@ -344,10 +336,6 @@ foreach (@debug) { } STDOUT->autoflush(1); -# calculate build number -$build += $main::version; -$build = "$build.$branch" if $branch; - # try to load the database if (DXSql::init($dsn)) { $dbh = DXSql->new($dsn); @@ -509,10 +497,11 @@ for (;;) { # do timed stuff, ongoing processing happens one a second if ($timenow != $systime) { - reap if $zombies; - $systime = $timenow; + reap() if $zombies; + IsoTime::update($systime = $timenow); DXCron::process(); # do cron jobs DXCommandmode::process(); # process ongoing command mode stuff + DXXml::process(); DXProt::process(); # process ongoing ak1a pcxx stuff DXConnect::process(); DXMsg::process();