removed the memory leakage a bit better on connects
[spider.git] / perl / Timer.pm
index 8969756f550706bb942e7bc3e7c6f2bb93054841..0c44278e05067723a8d0a5e25df430af2ada801c 100644 (file)
 
 package Timer;
 
-use vars qw(@timerchain);
+use vars qw(@timerchain $notimers);
+use DXDebug;
 
 @timerchain = ();
+$notimers = 0;
 
 sub new
 {
@@ -22,15 +24,16 @@ sub new
        my $self = bless { t=>$time + time, proc=>$proc }, $class;
        $self->{interval} = $time if $recur;
        push @timerchain, $self;
+       $notimers++;
+       dbg('connll', "Timer created ($notimers)");
        return $self;
 }
 
 sub del
 {
        my $self = shift;
-       my $old = delete $self->{proc};
+       delete $self->{proc};
        @timerchain = grep {$_ != $self} @timerchain;
-       return $old;
 }
 
 sub handler
@@ -46,4 +49,9 @@ sub handler
        }
 }
 
+sub DESTROY
+{
+       dbg('connll', "Timer destroyed ($notimers)");
+       $notimers--;
+}
 1;