X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FQSL.pm;h=3d228d39685992166ec292c8b42a3c221b362ec4;hb=770092d94f96b6d22a38fb33e0056b4779a8a1ab;hp=1031c953eaa9523142c19b8b7ea55faf2c578e0d;hpb=112baf5b4c3dd1f4897a15f2414befab7d83b309;p=spider.git diff --git a/perl/QSL.pm b/perl/QSL.pm index 1031c953..3d228d39 100644 --- a/perl/QSL.pm +++ b/perl/QSL.pm @@ -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;