X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=c611fac376ca54605fa6967dd6e43d87d68dc787;hb=fc8ec20708a70b6297d3c8b8c35b1086c6018cbb;hp=6cd6ca4f14bc6df4ba2bb4bd58d8e4f07ca108e9;hpb=40953f6b16d17fef7237bf3ca07de23bcf58adf7;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 6cd6ca4f..c611fac3 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -247,15 +247,15 @@ sub get # search for it unless ($dbm->get($call, $data)) { - $ref = decode($data); + $ref = eval{decode($data)}; if ($ref) { - if (UNIVERSAL::isa($ref, 'DXUser')) { + if (!UNIVERSAL::isa($ref, 'DXUser')) { dbg("DXUser::get: got strange answer from decode of $call". ref $ref. " ignoring"); return undef; } # we have a reference and it *is* a DXUser } else { - dbg("DXUser::get: no reference returned from decode of $call $!"); + dbg("DXUser::get: no reference returned from decode of $call $! $@"); return undef; } $lru->put($call, $ref);