Branch Coverage

blib/lib/Parallel/Fork/BossWorkerAsync.pm
Criterion Covered Total %
branch 95 148 64.1


line true false branch
39 0 28 unless defined $self->{'work_handler'}
62 0 86 if ($@)
78 0 43 unless defined $n
100 43 1 unless defined $args{'blocking'}
101 0 44 unless $self->pending
106 31 13 unless (@{$self->{'result_queue'};})
111 1 0 unless ($args{'blocking'} or @{$self->{'result_queue'};})
119 0 6 if ($self->{'pending'} == 0 and $self->{'shutting_down'})
124 43 0 $self->{'result_handler'} ? :
125 0 43 unless defined $retval
153 0 6 if ($args{'force'}) { }
0 6 elsif ($self->pending) { }
171 0 127 if ($^O eq 'MSWin32') { }
175 0 0 $makeblocking ? :
181 0 0 unless ioctl $socket, 2147772030, $plong
187 0 127 unless my $flags = fcntl($socket, 3, 0)
190 54 73 if ($blocking and not $makeblocking) { }
1 72 elsif (not $blocking and $makeblocking) { }
199 0 55 unless fcntl $socket, 4, $flags
212 0 28 unless socketpair $b1, $b2, 1, 1, 0
216 0 28 unless defined $pid
218 6 22 if ($pid) { }
247 0 6 if ($@)
259 0 47 unless socketpair $w1, $w2, 1, 1, 0
263 0 47 unless defined $pid
265 31 16 if ($pid) { }
288 0 6 if ($@)
325 6 0 if ($self->{'shutting_down'} and not @{$self->{'job_queue'};} and not @{$self->{'result_queue'};})
331 0 16 if (not $workers->{$s}{'idle'}) { }
0 16 elsif (exists $workers->{$s}{'partial_job'}) { }
339 6 0 unless ($busy or $partials)
354 59 0 unless ($self->{'shutting_down'})
359 20 39 if (@{$self->{'result_queue'};})
368 103 60 if ($workers->{$s}{'idle'}) { }
369 48 55 if (@{$self->{'job_queue'};} or exists $workers->{$s}{'partial_job'})
381 0 59 unless (@rdy)
382 0 0 if ($! == 4)
398 43 12 if ($rh != $self->{'app_socket'}) { }
414 48 20 exists $workers->{$wh} ? :
421 0 6 if ($@)
429 20 48 if ($socket == $self->{'app_socket'}) { }
450 0 43 if (not defined $n) { }
0 43 elsif ($n == 0) { }
452 0 0 if ($! == 11) { }
492 48 0 if (not exists $self->{'workers'}{$socket}{'partial_job'}) { }
494 43 5 if (@{$self->{'job_queue'};}) { }
509 0 43 if (not defined $n) { }
0 43 elsif ($n == 0) { }
511 0 0 if ($! == 11) { }
547 59 86 unless defined $rstream
548 79 66 unless defined $$rstream
552 55 90 if ($iam eq 'boss') { }
553 12 43 if ($socket == $self->{'app_socket'}) { }
566 50 145 if (not defined $n) { }
22 123 elsif ($n == 0) { }
567 0 50 if ($! == 4) { }
50 0 elsif ($! == 11) { }
583 6 16 if ($iam eq 'boss') { }
16 0 elsif ($iam eq 'worker') { }
584 6 0 if ($socket == $self->{'app_socket'}) { }
0 0 elsif (exists $self->{'workers'}{$socket}) { }
611 123 0 if ($records[$#records] =~ /$self->{'msg_delimiter'}$/) { }
617 43 80 if (exists $self->{'workers'}{$socket})
627 73 50 if $rcount and $iam ne 'boss'
644 3 13 if ($self->{'init_handler'})
652 43 59 if (defined $result_stream) { }
657 0 43 unless defined $n
658 43 0 if defined $n
668 16 43 unless @queue
689 1 42 if ($@)
700 3 13 if ($self->{'exit_handler'})
705 0 16 if $@
706 0 16 if ($errm)
717 0 1461 if $self->{'verbose'}