X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FTimer.pm;h=0ab2af10bd48807de026cdcc3593adcb7c47ea6f;hb=4327a846608d5828537a3c37f90848db0f10d06f;hp=4a1e1c42e165395145eb913d124bdab2007991b9;hpb=dbf7523a9b228dbdf1d03109afde351b8b194fab;p=spider.git diff --git a/perl/Timer.pm b/perl/Timer.pm index 4a1e1c42..0ab2af10 100644 --- a/perl/Timer.pm +++ b/perl/Timer.pm @@ -10,7 +10,7 @@ package Timer; -use vars qw(@timerchain $notimers); +use vars qw(@timerchain $notimers $lasttime); use DXDebug; @timerchain = (); @@ -18,10 +18,12 @@ $notimers = 0; use vars qw($VERSION $BRANCH); $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/,(0,0)); $main::build += $VERSION; $main::branch += $BRANCH; +$lasttime = 0; + sub new { my ($pkg, $time, $proc, $recur) = @_; @@ -45,7 +47,9 @@ sub del sub handler { my $now = time; - + + return unless $now != $lasttime; + # handle things on the timer chain my $t; foreach $t (@timerchain) { @@ -54,6 +58,8 @@ sub handler $t->{t} = $now + $t->{interval} if exists $t->{interval}; } } + + $lasttime = $now; } sub DESTROY