X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=5d102e4f80a92062b4b66ccd484bc7a290853aac;hb=d6ef92100b25e721a15d00da498256853cc0acf2;hp=d6e323276696098ed4e2928cfb110facd4c2dd63;hpb=8c9e806b29c6d127f67801ef99862090f067f50d;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index d6e32327..5d102e4f 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -97,6 +97,7 @@ use Route::User; use Editable; use Mrtg; use USDB; +use UDPMsg; use Data::Dumper; use IO::File; @@ -124,7 +125,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 += 7; # add an offset to make it bigger than last system +$main::build += 6; # add an offset to make it bigger than last system $main::build += $VERSION; $main::branch += $BRANCH; @@ -239,6 +240,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; @@ -275,6 +283,9 @@ sub cease # disconnect AGW AGWMsg::finish(); + # disconnect UDP customers + UDPMsg::finish(); + # end everything else Msg->event_loop(100, 0.01); DXUser::finish(); @@ -395,7 +406,8 @@ dbg("DXSpider Version $version, build $build started"); # load Prefixes dbg("loading prefixes ..."); -Prefix::load(); +my $r = Prefix::init(); +confess $r if $r; dbg(USDB::init()); # load band data @@ -426,8 +438,13 @@ foreach my $l (@main::listen) { push @listeners, $conn; dbg("External Port: $l->[0] $l->[1]"); } + +dbg("AGW Listener") if $AGWMsg::enable; AGWrestart(); +dbg("UDP Listener") if $UDPMsg::enable; +UDPMsg::init(\&new_channel); + # load bad words dbg("load badwords: " . (BadWords::load or "Ok"));