headline: RBN set/seeme
[spider.git] / perl / DXDupe.pm
index a5bb8a1b9cd762f9d4bdd0e1e2208f07743ba244..696bbf84e583c07120b29103ef9e8a3bf2bbb110 100644 (file)
@@ -17,28 +17,23 @@ use vars qw{$lasttime $dbm %d $default $fn};
 
 $default = 48*24*60*60;
 $lasttime = 0;
-$fn = "$main::data/dupefile";
-
-use vars qw($VERSION $BRANCH);
-($VERSION, $BRANCH) = dxver(q$Revision$);
+localdata_mv("dupefile");
+$fn = localdata("dupefile");
 
 sub init
 {
+       unlink $fn;
        $dbm = tie (%d, 'DB_File', $fn);
-       unless ($dbm) {
-               eval { untie %d };
-               dbg("Dupefile $fn corrupted, removing...");
-               unlink $fn;
-               $dbm = tie (%d, 'DB_File', $fn) or confess "can't open dupe file: $fn ($!)";
-               confess "cannot open $fn $!" unless $dbm; 
-       }
+       confess "cannot open $fn $!" unless $dbm;
 }
 
 sub finish
 {
+       dbg("DXDupe finishing");
        undef $dbm;
        untie %d;
        undef %d;
+       unlink $fn;
 }
 
 sub check
@@ -106,4 +101,12 @@ sub listdups
        }
        return @out;
 }
+
+sub END
+{
+       if ($dbm) {
+               dbg("DXDupe ENDing");
+               finish();
+       }
+}
 1;