projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
send unsolicited PC[38]5s to the sysop if online.
[spider.git]
/
perl
/
DXUser.pm
diff --git
a/perl/DXUser.pm
b/perl/DXUser.pm
index 2bd140348cf1994163ace77be621310475c0c0fd..ad1b890cb7e7bbf34cabb150a3dffcd2fa51fc5a 100644
(file)
--- a/
perl/DXUser.pm
+++ b/
perl/DXUser.pm
@@
-19,11
+19,13
@@
use IO::File;
use DXDebug;
use strict;
use DXDebug;
use strict;
-use vars qw(%u $dbm $filename %valid);
+use vars qw(%u $dbm $filename %valid
$lastoperinterval $lasttime
);
%u = ();
$dbm = undef;
$filename = undef;
%u = ();
$dbm = undef;
$filename = undef;
+$lastoperinterval = 30*24*60*60;
+$lasttime = 0;
# hash of valid elements and a simple prompt
%valid = (
# hash of valid elements and a simple prompt
%valid = (
@@
-104,6
+106,17
@@
sub init
use strict;
use strict;
+#
+# periodic processing
+#
+sub process
+{
+ if ($main::systime > $lasttime + 15) {
+ $dbm->sync;
+ $lasttime = $main::systime;
+ }
+}
+
#
# close the system
#
#
# close the system
#
@@
-191,7
+204,6
@@
sub put
delete $self->{annok} if $self->{annok};
delete $self->{dxok} if $self->{dxok};
$u{$call} = $self->encode();
delete $self->{annok} if $self->{annok};
delete $self->{dxok} if $self->{dxok};
$u{$call} = $self->encode();
- $dbm->sync;
}
#
}
#
@@
-233,7
+245,6
@@
sub del
for ($dbm->get_dup($call)) {
$dbm->del_dup($call, $_);
}
for ($dbm->get_dup($call)) {
$dbm->del_dup($call, $_);
}
- $dbm->sync;
}
#
}
#
@@
-247,6
+258,15
@@
sub close
$self->put();
}
$self->put();
}
+#
+# sync the database
+#
+
+sub sync
+{
+ $dbm->sync;
+}
+
#
# return a list of valid elements
#
#
# return a list of valid elements
#