X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=0fe3b575a98588be279dac7e658f24170219a8e3;hb=16d19a14ff3c7622cb81ab0312d674fde6b2af83;hp=80bedb460e5b3526b656b5ee0260a1bfa17c5e85;hpb=948528bfc08dcb29187ef90a1b3cac0c161f5c0b;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 80bedb46..0fe3b575 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -7,7 +7,7 @@ # # Copyright (c) 1998 Dirk Koopman G1TLH # -# $Id$ +# # require 5.004; @@ -102,6 +102,7 @@ use RouteDB; use DXXml; use DXSql; use IsoTime; +use BPQMsg; use Data::Dumper; use IO::File; @@ -240,10 +241,12 @@ sub cease DXUser::sync; - eval { - Local::finish(); # end local processing - }; - dbg("Local::finish error $@") if $@; + if (defined &Local::finish) { + eval { + Local::finish(); # end local processing + }; + dbg("Local::finish error $@") if $@; + } # disconnect nodes foreach $dxchan (DXChannel::get_all_nodes) { @@ -258,6 +261,7 @@ sub cease # disconnect AGW AGWMsg::finish(); + BPQMsg::finish(); # disconnect UDP customers UDPMsg::finish(); @@ -275,7 +279,7 @@ sub cease $l->close_server; } - LogDbg('cluster', "DXSpider V$version, build $build ended"); + LogDbg('cluster', "DXSpider V$version, build $subversion.$build ended"); dbgclose(); Logclose(); @@ -364,7 +368,7 @@ DXXml::init(); # banner my ($year) = (gmtime)[5]; $year += 1900; -LogDbg('cluster', "DXSpider V$version, build $build started"); +LogDbg('cluster', "DXSpider V$version, build $subversion.$build started"); dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH"); # load Prefixes @@ -409,6 +413,9 @@ foreach my $l (@main::listen) { dbg("AGW Listener") if $AGWMsg::enable; AGWrestart(); +dbg("BPQ Listener") if $BPQMsg::enable; +BPQMsg::init(\&new_channel); + dbg("UDP Listener") if $UDPMsg::enable; UDPMsg::init(\&new_channel); @@ -484,17 +491,20 @@ DXMsg::clean_old(); dbg("reading cron jobs ..."); DXCron->init(); -# read in database descriptors +# read in database desriptors dbg("reading database descriptors ..."); DXDb::load(); # starting local stuff dbg("doing local initialisation ..."); QSL::init(1); -eval { - Local::init(); -}; -dbg("Local::init error $@") if $@; +if (defined &Local::init) { + eval { + Local::init(); + }; + dbg("Local::init error $@") if $@; +} + # this, such as it is, is the main loop! dbg("orft we jolly well go ..."); @@ -533,11 +543,14 @@ for (;;) { DXUser::process(); DXDupe::process(); AGWMsg::process(); + BPQMsg::process(); - eval { - Local::process(); # do any localised processing - }; - dbg("Local::process error $@") if $@; + if (defined &Local::process) { + eval { + Local::process(); # do any localised processing + }; + dbg("Local::process error $@") if $@; + } } if ($decease) { last if --$decease <= 0;