… | |
… | |
84 | } |
84 | } |
85 | |
85 | |
86 | sub reload { |
86 | sub reload { |
87 | my $guard = cf::lock_acquire "map-tags::reload"; |
87 | my $guard = cf::lock_acquire "map-tags::reload"; |
88 | |
88 | |
89 | my $start = EV::time; |
89 | my $start = AE::time; |
90 | |
90 | |
91 | # 1. check for maps no longer existing |
91 | # 1. check for maps no longer existing |
92 | { |
92 | { |
93 | my @delkeys; |
93 | my @delkeys; |
94 | |
94 | |
… | |
… | |
149 | # delete $map->{deny_reset}; |
149 | # delete $map->{deny_reset}; |
150 | # } |
150 | # } |
151 | # } |
151 | # } |
152 | # } |
152 | # } |
153 | |
153 | |
154 | warn sprintf "map-tag scan (%fs)", EV::time - $start; |
154 | warn sprintf "map-tag scan (%fs)", AE::time - $start; |
155 | } |
155 | } |
156 | |
156 | |
157 | our $RELOAD_SCHEDULER = cf::periodic $SCHEDULE_INTERVAL, Coro::unblock_sub { |
157 | our $RELOAD_SCHEDULER = cf::periodic $SCHEDULE_INTERVAL, Coro::unblock_sub { |
158 | $Coro::current->prio (Coro::PRIO_MIN); |
158 | $Coro::current->prio (Coro::PRIO_MIN); |
159 | $Coro::current->desc ("map-tag scanner"); |
159 | $Coro::current->desc ("map-tag scanner"); |
… | |
… | |
176 | grep $_, |
176 | grep $_, |
177 | map { cf::map::find $_ } |
177 | map { cf::map::find $_ } |
178 | grep s/^s//, |
178 | grep s/^s//, |
179 | split /\x00/, $data |
179 | split /\x00/, $data |
180 | } |
180 | } |
|
|
181 | |
|
|
182 | sub unload { |
|
|
183 | my $guard = cf::lock_acquire "map-tags::reload"; |
|
|
184 | |
|
|
185 | BDB::db_close $db_target; |
|
|
186 | BDB::db_close $db_mapinfo; |
|
|
187 | } |