X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=f62d2522bac7f707a6da0d88e8d75abe69a32b2b;hb=refs%2Fheads%2Fnewprot2;hp=655a986b1af35dfd881795a3a3ffb320a867dc82;hpb=70dbd742db4241e97496db69e89160ec573a5949;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 655a986b..f62d2522 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -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 = ; @@ -194,20 +194,15 @@ sub new_channel # create the channel if ($user->wantnp) { - if ($user->passphrase && $main::me->user->passphrase) { - $dxchan = QXProt->new($call, $conn, $user); - } else { - unless ($user->passphrase) { - Log('DXCommand', "$call using NP but has no passphrase"); - dbg("$call using NP but has no passphrase"); - } - unless ($main::me->user->passphrase) { - Log('DXCommand', "$main::mycall using NP but has no passphrase"); - dbg("$main::mycall using NP but has no passphrase"); - } - already_conn($conn, $call, "Need to exchange passphrases"); - return; + unless ($user->passphrase) { + Log('DXCommand', "$call using NP but has no passphrase"); + dbg("$call using NP but has no passphrase"); } + unless ($main::me->user->passphrase) { + Log('DXCommand', "$main::mycall using NP but has no passphrase"); + dbg("$main::mycall using NP but has no passphrase"); + } + $dxchan = QXProt->new($call, $conn, $user); } elsif ($user->is_node) { $dxchan = DXProt->new($call, $conn, $user); } elsif ($user->is_user) { @@ -240,6 +235,13 @@ sub rec } } +# remove any outstanding entries on the inqueue after a disconnection (usually) +sub clean_inqueue +{ + my $dxchan = shift; + @inqueue = grep {$_->{dxchan} != $dxchan} @inqueue; +} + sub login { return \&new_channel; @@ -399,7 +401,7 @@ dbg("DXSpider Version $version, build $build started"); # load Prefixes dbg("loading prefixes ..."); -my $r = Prefix::load(); +my $r = Prefix::init(); confess $r if $r; dbg(USDB::init()); @@ -549,7 +551,7 @@ for (;;) { DXUser::process(); DXDupe::process(); AGWMsg::process(); - + eval { Local::process(); # do any localised processing };