package Timer;
-use vars qw(@timerchain $notimers);
+use vars qw(@timerchain $notimers $lasttime);
use DXDebug;
@timerchain = ();
$notimers = 0;
+$lasttime = 0;
+
sub new
{
my ($pkg, $time, $proc, $recur) = @_;
sub handler
{
my $now = time;
-
+
+ return unless $now != $lasttime;
+
# handle things on the timer chain
my $t;
foreach $t (@timerchain) {
$t->{t} = $now + $t->{interval} if exists $t->{interval};
}
}
+
+ $lasttime = $now;
}
sub DESTROY