X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=8645dbd9dd2e81ad467429124f4cc0c0c9f9fc8d;hb=917f7586cf60e96e07233c72b9854d754638f253;hp=d2392ceb0e2337417656a025838f56d6784055d4;hpb=68359142fc4247a9c007033c740eaa8fe85fa530;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index d2392ceb..8645dbd9 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -116,7 +116,7 @@ use strict; use vars qw(@inqueue $systime $version $starttime $lockfn @outstanding_connects $zombies $root @listeners $lang $myalias @debug $userfn $clusteraddr $clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting - $allowdxby + $allowdxby $dbh $dsn $dbuser $dbpass ); @inqueue = (); # the main input queue, an array of hashes @@ -133,7 +133,6 @@ $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 += 1; # add an offset to make it bigger than last system $main::build += $VERSION; $main::branch += $BRANCH; @@ -287,6 +286,9 @@ sub cease Log('cluster', "DXSpider V$version, build $build ended"); dbgclose(); Logclose(); + + $dbh->finish if $dbh; + unlink $lockfn; # $SIG{__WARN__} = $SIG{__DIE__} = sub {my $a = shift; cluck($a); }; exit(0); @@ -332,6 +334,10 @@ sub AGWrestart $starttime = $systime = time; $lang = 'en' unless $lang; +unless ($DB::VERSION) { + $SIG{INT} = $SIG{TERM} = \&cease; +} + # open the debug file, set various FHs to be unbuffered dbginit(\&DXCommandmode::broadcast_debug); foreach (@debug) { @@ -351,6 +357,17 @@ $year += 1900; dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH"); dbg("DXSpider Version $version, build $build started"); +# try to load the database +if ($dsn && -e "$root/perl/DXSql.pm") { + require DXSql; + import DXSql; + + if (DXSql::init()) { + $dbh = DXSql->new($dsn); + $dbh = $dbh->connect($dsn, $dbuser, $dbpass) if $dbh; + } +} + # load Prefixes dbg("loading prefixes ..."); dbg(USDB::init());