X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FQSL.pm;h=d10345eda2ebbf70166ca9c42d91beae4e1e9acc;hb=4d03e2c0f1feb9aa6011d6d72b0dd6e95b71da13;hp=e303e123aaa1bedf87393cab649eb4b9a858b6fe;hpb=dd73f6f34ce7f3e142e480dfb7153611d87f509b;p=spider.git diff --git a/perl/QSL.pm b/perl/QSL.pm index e303e123..d10345ed 100644 --- a/perl/QSL.pm +++ b/perl/QSL.pm @@ -21,6 +21,7 @@ $qslfn = 'dxqsl'; $dbm = undef; $maxentries = 50; +my %u; my $json; localdata_mv("$qslfn.v1j"); @@ -33,10 +34,9 @@ sub init $json = JSON->new->canonical(1); Prefix::load() unless Prefix::loaded(); - - my %u; - undef $dbm; + finish() if $dbm; + if ($mode) { $dbm = tie (%u, 'DB_File', $ufn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open qsl file: $qslfn ($!)"; } else { @@ -47,7 +47,9 @@ sub init sub finish { + $dbm->sync; undef $dbm; + untie %u; } sub new @@ -129,8 +131,8 @@ sub put sub remove_files { - unlink "$main::data/qsl.v1j"; - unlink "$main::local_data/qsl.v1j"; + unlink "$main::data/$qslfn.v1j"; + unlink "$main::local_data/$qslfn.v1j"; } # thaw the user