Try to improve the PC11->PC61 autoupgrade system
[spider.git] / perl / DXDupe.pm
index ebb2aac41a7c157f5be5986c9384cce2143a399a..3625183fe4d7260cd03cb35ded2b84b0f9d89e73 100644 (file)
@@ -29,6 +29,7 @@ sub init
 
 sub finish
 {
+       dbg("DXDupe finishing");
        undef $dbm;
        untie %d;
        undef %d;
@@ -53,11 +54,13 @@ sub add
        my $s = shift;
        my $t = shift || $main::systime + $default;
        $d{$s} = $t;
+       dbg(sprintf("DXDupe::add key: $s time: %s", ztime($t))) if isdbg('dxdupe');
 }
 
 sub del
 {
        my $s = shift;
+       dbg(sprintf("DXDupe::del key: $s time: %s", ztime($d{$s}))) if isdbg('dxdupe');
        delete $d{$s};
 }
 
@@ -69,7 +72,7 @@ sub process
                while (($k, $v) = each %d) {
                        push @del, $k  if $main::systime >= $v;
                }
-               delete $d{$_} for @del;
+               del($k) for @del;
                $lasttime = $main::systime;
        }
 }
@@ -100,4 +103,12 @@ sub listdups
        }
        return @out;
 }
+
+sub END
+{
+       if ($dbm) {
+               dbg("DXDupe ENDing");
+               finish();
+       }
+}
 1;