fixed duplicate spot, always make clean ending
[spider.git] / perl / QSL.pm
index 1031c953eaa9523142c19b8b7ea55faf2c578e0d..3d228d39685992166ec292c8b42a3c221b362ec4 100644 (file)
@@ -115,9 +115,17 @@ sub get
        
        my $r = $dbm->get($key, $value);
        return undef if $r;
-       return thaw($value);
+       my $v;
+       eval { $v = thaw($value) };
+       if ($@) {
+               LogDbg("Error thawing DXQSL key '$key' (now deleted): $@");
+               eval {$dbm->del($key)};
+               return undef;
+       }
+       return $v;
 }
 
+
 sub put
 {
        return unless $dbm;
@@ -127,4 +135,9 @@ sub put
        $dbm->put($key, $value);
 }
 
+sub active
+{
+       return $dbm;
+}
+
 1;