blib/lib/IO/Async/Process.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 28 | 38 | 73.6 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
352 | 18 | 0 | 0 | exists $self->{'fd_opts'}{$_} and croak("Cannot configure stdio since fd$_ is already defined") |
392 | 202 | 28 | 4 | defined $via and $via == 4 |
399 | 21 | 2 | 179 | $wants_read and not $wants_write |
400 | 181 | 0 | 21 | not $wants_read and $wants_write |
401 | 21 | 179 | 2 | $wants_read and $wants_write |
416 | 229 | 5 | 0 | $via == 3 and $fd ne "io" |
769 | 233 | 0 | 1 | defined $opts->{'socktype'} and "IO::Async::OS"->getsocktypebyname($opts->{'socktype'}) != 1 |
line | l | !l | condition |
---|---|---|---|
358 | 0 | 234 | $self->{'fd_opts'}{$fd} ||= {} |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
351 | 36 | 136 | 53 | $fd == 0 or $fd == 1 |
398 | 3 | 4 | 0 | $via == 3 or $via == 4 |
512 | 160 | 115 | 0 | $self->{'code'} or $self->{'command'} |
616 | 8 | 248 | 0 | $self->{'finish_future'} //= $self->loop->new_future |
764 | 203 | 234 | 0 | $self->{'fd_handle'}{$fd} ||= do { croak("$self does not have an fd Stream for $fd") unless my $opts = $self->{'fd_opts'}{$fd}; my $handle_class; if (defined $opts->{'socktype'} and "IO::Async::OS"->getsocktypebyname($opts->{'socktype'}) != 1) { require IO::Async::Socket; $handle_class = "IO::Async::Socket"; } else { require IO::Async::Stream; $handle_class = "IO::Async::Stream"; }; my $handle = $handle_class->new("notifier_name", $fd eq 0 ? "stdin" : ($fd eq 1 ? "stdout" : ($fd eq 2 ? "stderr" : ($fd eq "io" ? "stdio" : "fd$fd"))), %{$$opts{"handle"};}); if (defined $opts->{'from'}) { $handle->write($opts->{'from'}, "on_flush", sub { my($handle) = @_; $handle->close_write; } ); }; $handle } |