| blib/lib/Mojo/Reactor/Epoll.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 25 | 44 | 56.8 |
| line | l | !l | condition |
|---|---|---|---|
| 69 | 0 | 2855 | ++$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 | 18586 | 0 | 18592 | $i or not $self->{'running'} |
| 35 | 18585 | 1 | 6 | keys %{$$self{'timers'};} or keys %{$$self{'io'};} |
| 48 | 16526 | 3 | 0 | $self->{'epoll'} // $self->_create_epoll |
| 79 | 5 | 0 | 0 | fileno $remove // croak('Handle is closed') |
| 120 | 16186 | 0 | 344 | $events->{'in'} or $events->{'prio'} |
| 0 | 0 | 344 | $events->{'in'} or $events->{'prio'} or $events->{'hup'} | |
| 0 | 0 | 344 | $events->{'in'} or $events->{'prio'} or $events->{'hup'} or $events->{'err'} | |
| 124 | 2040 | 0 | 14490 | $events->{'out'} or $events->{'hup'} |
| 0 | 0 | 14490 | $events->{'out'} or $events->{'hup'} or $events->{'err'} | |
| 132 | 15 | 9 | 0 | $io->{'epoll_cb'} //= $cb |