X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=43828974d05c00f10d7936c8815b3df914fa8500;hb=955a8e00260e9f91e7f1c932771c39fa78394cdb;hp=2cf7173f9c5cea358c8267670f27d029c07f0cf4;hpb=d17f05b19fac36a0a8a2f828912a1a7ebefae79f;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 2cf7173f..43828974 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -144,10 +144,9 @@ sub already_conn { my ($conn, $call, $mess) = @_; - $conn->disable_read(1); dbg("-> D $call $mess\n") if isdbg('chan'); + $conn->disable_read(1); $conn->send_now("D$call|$mess"); - sleep(2); $conn->disconnect; } @@ -372,6 +371,8 @@ sub idle_loop AGWMsg::process(); BPQMsg::process(); + Timer::handler(); + if (defined &Local::process) { eval { Local::process(); # do any localised processing @@ -491,6 +492,8 @@ my ($sigint, $sigterm); unless ($DB::VERSION) { $sigint = AnyEvent->signal(signal=>'INT', cb=> sub{$decease->send}); $sigterm = AnyEvent->signal(signal=>'TERM', cb=> sub{$decease->send}); +# $sigint = AnyEvent->signal(signal=>'INT', cb=> sub{AnyEvent->unloop}); +# $sigterm = AnyEvent->signal(signal=>'TERM', cb=> sub{AnyEvent->unloop}); } unless ($is_win) { @@ -579,11 +582,11 @@ $script->run($main::me) if $script; #open(DB::OUT, "|tee /tmp/aa"); -my $idle_loop = AnyEvent->idle(cb => &idle_loop); - +my $per_sec = AnyEvent->timer(after => 0, interval => 0.010, cb => sub{idle_loop()}); # main loop $decease->recv; +#AnyEvent->loop; idle_loop() for (1..25); cease(0);