X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FTimer.pm;h=e5ffa52424a1941e6d30979ee42b1b42eb1c51a1;hb=f6d0b05b25a61cb6d3aa671b7a8f5d4a69817b1c;hp=fb429f643537d40cd204b367c93ed5f962cd74df;hpb=fd0a34c34ad4112ee21e0730f7307498ff437e18;p=spider.git diff --git a/perl/Timer.pm b/perl/Timer.pm index fb429f64..e5ffa524 100644 --- a/perl/Timer.pm +++ b/perl/Timer.pm @@ -10,6 +10,8 @@ package Timer; +use Mojo::IOLoop; + use vars qw(@timerchain $notimers $lasttime); use DXDebug; @@ -23,11 +25,11 @@ sub new my ($pkg, $time, $proc, $recur) = @_; my $obj = ref($pkg); my $class = $obj || $pkg; - my $self = bless { t=>$time + time, proc=>$proc }, $class; + my $self = bless { t=>$time + $main::systime, proc=>$proc }, $class; $self->{interval} = $time if $recur; push @timerchain, $self; - $notimers++; - dbg("Timer created ($notimers)") if isdbg('connll'); + $notimers = @timerchain; + dbg("Timer created (notimers: $notimers)") if isdbg('connll'); return $self; } @@ -36,11 +38,13 @@ sub del my $self = shift; delete $self->{proc}; @timerchain = grep {$_ != $self} @timerchain; + $notimers = @timerchain; + dbg("Timer deleted (notimers: $notimers)") if isdbg('connll'); } sub handler { - my $now = time; + my $now = $main::systime; return unless $now != $lasttime; @@ -59,6 +63,5 @@ sub handler sub DESTROY { dbg("timer destroyed ($Timer::notimers)") if isdbg('connll'); - $Timer::notimers--; } 1;