move usdb init as per k1xx's bug
[spider.git] / perl / cluster.pl
index 58742e1952bd78b3e8618c8d51451c8c083a7f3f..68f40e1aa83eff76c8b11aad87c49cb7a00718be 100755 (executable)
@@ -33,7 +33,7 @@ BEGIN {
 
        # try to create and lock a lockfile (this isn't atomic but 
        # should do for now
-       $lockfn = "$root/perl/cluster.lck";       # lock file name
+       $lockfn = "$root/local/cluster.lck";       # lock file name
        if (-e $lockfn) {
                open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!";
                my $pid = <CLLOCK>;
@@ -98,6 +98,8 @@ use Editable;
 use Mrtg;
 use USDB;
 use UDPMsg;
+use QSL;
+use Thingy;
 
 use Data::Dumper;
 use IO::File;
@@ -125,7 +127,7 @@ $reqreg = 0;                                        # 1 = registration required, 2 = deregister people
 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 += 6;                             # add an offset to make it bigger than last system
+$main::build += 4;                             # add an offset to make it bigger than last system
 $main::build += $VERSION;
 $main::branch += $BRANCH;
 
@@ -244,7 +246,7 @@ sub rec
 sub clean_inqueue
 {
        my $dxchan = shift;
-       @inqueue = grep {$_ != $dxchan} @inqueue;
+       @inqueue = grep {$_->{dxchan} != $dxchan} @inqueue;
 }
 
 sub login
@@ -335,7 +337,7 @@ sub process_inqueue
                return unless defined $sort;
        
                # do the really sexy console interface bit! (Who is going to do the TK interface then?)
-               dbg("<- $sort $call $line\n") if $sort ne 'D' && isdbg('chan');
+               dbg("<- $sort $call $line") if $sort ne 'D' && isdbg('chan');
                if ($self->{disconnecting}) {
                        dbg('In disconnection, ignored');
                        next;
@@ -406,9 +408,9 @@ dbg("DXSpider Version $version, build $build started");
 
 # load Prefixes
 dbg("loading prefixes ...");
-my $r = Prefix::load();
-confess $r if $r;
 dbg(USDB::init());
+my $r = Prefix::init();
+confess $r if $r;
 
 # load band data
 dbg("loading band data ...");
@@ -522,6 +524,7 @@ DXDb::load();
 
 # starting local stuff
 dbg("doing local initialisation ...");
+QSL::init(1);
 eval {
        Local::init();
 };
@@ -556,7 +559,10 @@ for (;;) {
                DXUser::process();
                DXDupe::process();
                AGWMsg::process();
-                               
+
+               # this where things really start to happen (in DXSpider 2)
+               Thingy::process();
+               
                eval { 
                        Local::process();       # do any localised processing
                };