| blib/lib/Mojo/Reactor/Epoll.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 25 | 44 | 56.8 |
| line | l | !l | condition |
|---|---|---|---|
| 69 | 0 | 2354 | ++$i and $self->_try('Timer', $t->{'cb'}) |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 80 | 2 | 0 | 3 | exists $self->{'io'}{$fd} and exists $self->{'io'}{$fd}{'epoll_cb'} |
| line | l | !l | condition |
|---|---|---|---|
| 13 | 0 | 1 | $ENV{'MOJO_REACTOR_EPOLL_DEBUG'} || 0 |
| 128 | 15 | 9 | $io->{'epoll_cb'} // sub { my($events) = @_; if ($events->{'in'} or $events->{'prio'} or $events->{'hup'} or $events->{'err'}) { return unless exists $self->{'io'}{$fd}; $self->_try('I/O watcher', $self->{'io'}{$fd}{'cb'}, 0); }; if ($events->{'out'} or $events->{'hup'} or $events->{'err'}) { return unless exists $self->{'io'}{$fd}; $self->_try('I/O watcher', $self->{'io'}{$fd}{'cb'}, 1); }; } |
| 140 | 3 | 0 | delete $self->{'pending_watch'} // [] |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 19 | 10 | 0 | 0 | fileno $handle // croak('Handle is closed') |
| 33 | 15339 | 0 | 15345 | $i or not $self->{'running'} |
| 35 | 15338 | 1 | 6 | keys %{$$self{'timers'};} or keys %{$$self{'io'};} |
| 48 | 13638 | 3 | 0 | $self->{'epoll'} // $self->_create_epoll |
| 79 | 5 | 0 | 0 | fileno $remove // croak('Handle is closed') |
| 120 | 13362 | 0 | 280 | $events->{'in'} or $events->{'prio'} |
| 0 | 0 | 280 | $events->{'in'} or $events->{'prio'} or $events->{'hup'} | |
| 0 | 0 | 280 | $events->{'in'} or $events->{'prio'} or $events->{'hup'} or $events->{'err'} | |
| 124 | 1681 | 0 | 11961 | $events->{'out'} or $events->{'hup'} |
| 0 | 0 | 11961 | $events->{'out'} or $events->{'hup'} or $events->{'err'} | |
| 132 | 15 | 9 | 0 | $io->{'epoll_cb'} //= $cb |