… | |
… | |
248 | local $SIG{__DIE__}; |
248 | local $SIG{__DIE__}; |
249 | eval { |
249 | eval { |
250 | close $FH; |
250 | close $FH; |
251 | |
251 | |
252 | unless (eval { open_db }) { |
252 | unless (eval { open_db }) { |
253 | File::Path::rmtree $DB_HOME; |
253 | eval { File::Path::rmtree $DB_HOME }; |
254 | open_db; |
254 | open_db; |
255 | } |
255 | } |
256 | |
256 | |
257 | while () { |
257 | while () { |
258 | 4 == read $fh, my $len, 4 |
258 | 4 == read $fh, my $len, 4 |
… | |
… | |
292 | $fh_r_watcher = AnyEvent->io (fh => $FH, poll => 'r', cb => \&fh_read); |
292 | $fh_r_watcher = AnyEvent->io (fh => $FH, poll => 'r', cb => \&fh_read); |
293 | |
293 | |
294 | sync_tick; |
294 | sync_tick; |
295 | } |
295 | } |
296 | |
296 | |
|
|
297 | sub stop { |
|
|
298 | close $FH; |
|
|
299 | } |
|
|
300 | |
297 | 1; |
301 | 1; |
298 | |
302 | |
299 | =back |
303 | =back |
300 | |
304 | |
301 | =head1 AUTHOR |
305 | =head1 AUTHOR |