… | |
… | |
26 | use utf8; |
26 | use utf8; |
27 | |
27 | |
28 | use AnyEvent (); |
28 | use AnyEvent (); |
29 | use BerkeleyDB; |
29 | use BerkeleyDB; |
30 | use Pod::POM (); |
30 | use Pod::POM (); |
31 | use Scalar::Util (); |
|
|
32 | use File::Path (); |
31 | use File::Path (); |
33 | use Storable (); # finally |
32 | use Storable (); # finally |
34 | |
33 | |
35 | BEGIN { |
34 | BEGIN { |
36 | use Crossfire::Protocol::Base (); |
35 | use Crossfire::Protocol::Base (); |
… | |
… | |
162 | |
161 | |
163 | sub put($$$) { |
162 | sub put($$$) { |
164 | my ($db, $key, $data) = @_; |
163 | my ($db, $key, $data) = @_; |
165 | |
164 | |
166 | my $hkey = $db + 0; |
165 | my $hkey = $db + 0; |
167 | Scalar::Util::weaken $db; |
166 | CFPlus::weaken $db; |
168 | $DB_SYNC{$hkey} ||= AnyEvent->timer (after => 5, cb => sub { |
167 | $DB_SYNC{$hkey} ||= AnyEvent->timer (after => 5, cb => sub { |
169 | delete $DB_SYNC{$hkey}; |
168 | delete $DB_SYNC{$hkey}; |
170 | $db->db_sync if $db; |
169 | $db->db_sync if $db; |
171 | }); |
170 | }); |
172 | |
171 | |