~/.cpan/build/AnyEvent-ForkManager-0.04-ZOUXbL$ ./Build test
t/000_load.t ...... 1/1 # Testing AnyEvent::ForkManager/0.04
t/000_load.t ...... ok
t/001_basic.t ..... 1/63
####
$pm->start(
cb => sub {
my($pm, $exit_code) = @_;
local $SIG{USR1} = sub { $started_all_process = 1; };
isnt $$, $pm->manager_pid, 'called by child'; # <<== HERE
until ($started_all_process) {}; # wait
note "exit_code: $exit_code";
$pm->finish($exit_code);
fail 'finish failed';
},
args => [$exit_code]
);
####
my $mpid = $pm->manager_pid;
isnt $$, $mpid, 'called by child';
####
sub new {
my ($class, $store) = @_;
$store->_reopen_if_needed;
if ($store->{lock}++ == 0) {
flock $store->{fh}, LOCK_EX or die $!; # <<== HERE
}
bless { store => $store }, $class;
}
####
use Data::Dumper; $Data::Dumper::Deparse = 1; warn Dumper($store);
####
use Time::HiRes qw{ usleep }; usleep 200;