| line | true | false | branch | 
 
| 352 | 0 | 7 | if $$self{'_fhs'}{"$fh"} | 
 
| 359 | 3 | 4 | if defined $sockopt and 2 == unpack('i', $sockopt) | 
 
| 389 | 0 | 0 | if (my $x = tied $fh) | 
 
| 423 | 0 | 4 | if $fh and not exists $$self{'_fhs'}{"$fh"} | 
 
| 425 | 0 | 4 | $fh ? : | 
 
| 427 | 0 | 4 | $fh ? : | 
 
| 443 | 0 | 0 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 462 | 0 | 0 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 464 | 0 | 0 | if (@_) | 
 
| 465 | 0 | 0 | if @_ | 
 
| 466 | 0 | 0 | unless $_[0] | 
 
| 485 | 0 | 0 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 487 | 0 | 0 | if (@_) | 
 
| 488 | 0 | 0 | if @_ | 
 
| 515 | 0 | 4 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 517 | 4 | 0 | if (defined $timeout) { } | 
 
| 558 | 0 | 4 | unless exists $$self{'_timerkeys'}{"$fh"} | 
 
| 590 | 0 | 0 | if ref($fh) =~ /SSL/ and $fh->can('pending') and $fh->pending | 
 
| 596 | 14 | 0 | unless (length $rdready) | 
 
| 597 | 4 | 10 | if (@{$$self{'_timers'};}) | 
 
| 606 | 0 | 14 | unless (defined $numready) | 
 
| 607 | 0 | 0 | if ($! == 4 or $! == 11) { } | 
 
| 615 | 0 | 14 | if $heartbeat | 
 
| 618 | 0 | 19 | unless my $fh = $$self{'_handles'}{$k} | 
 
| 623 | 0 | 19 | unless exists $$self{'_fhs'}{"$fh"} | 
 
| 634 | 10 | 9 | if (fd_isset($rdready, $fh)) | 
 
| 636 | 2 | 8 | if ($$self{'_fhs'}{"$fh"}{'listen'}) { } | 
 
| 640 | 0 | 2 | unless $client | 
 
| 642 | 2 | 0 | if $obj and $obj->can('mux_connection') | 
 
| 645 | 6 | 2 | if ($self->is_udp($fh)) { } | 
 
| 647 | 6 | 0 | if (defined $rv) | 
 
| 655 | 8 | 0 | if (defined $rv and length $data) { } | 
 
| 660 | 8 | 0 | if $obj and $obj->can('mux_input') | 
 
| 664 | 0 | 0 | unless (defined $rv) | 
 
| 666 | 0 | 0 | if $! == 4 or $! == 11 or $! == 11 | 
 
| 669 | 0 | 0 | if $! != 104 | 
 
| 681 | 0 | 0 | if $obj and $obj->can('mux_eof') | 
 
| 685 | 0 | 0 | if (exists $$self{'_fhs'}{"$fh"}) | 
 
| 689 | 0 | 0 | unless exists $$self{'_fhs'}{"$fh"} and length $$self{'_fhs'}{"$fh"}{'outbuffer'} | 
 
| 697 | 0 | 17 | unless exists $$self{'_fhs'}{"$fh"} | 
 
| 699 | 0 | 17 | if (fd_isset($wrready, $fh)) | 
 
| 700 | 0 | 0 | unless (length $$self{'_fhs'}{"$fh"}{'outbuffer'}) | 
 
| 702 | 0 | 0 | if $obj and $obj->can('mux_outbuffer_empty') | 
 
| 709 | 0 | 0 | unless (defined $rv) | 
 
| 714 | 0 | 0 | unless ($! == 11 or $! == 4 or $! == 11) | 
 
| 717 | 0 | 0 | if ($! == 32) { } | 
 
| 718 | 0 | 0 | if $obj and $obj->can('mux_epipe') | 
 
| 728 | 0 | 0 | unless (length $$self{'_fhs'}{"$fh"}{'outbuffer'}) | 
 
| 732 | 0 | 0 | if $obj and $obj->can('mux_outbuffer_empty') | 
 
| 735 | 0 | 0 | if ($$self{'_fhs'}{"$fh"} and $$self{'_fhs'}{"$fh"}{'shutdown'}) | 
 
| 741 | 0 | 0 | unless (length $$self{'_fhs'}{"$fh"}{'inbuffer'}) | 
 
| 751 | 0 | 17 | unless exists $$self{'_fhs'}{"$fh"} | 
 
| 755 | 5 | 7 | if @{$$self{'_timers'};} | 
 
| 774 | 1 | 4 | if $$timer[1] > $time | 
 
| 782 | 0 | 4 | unless exists $$self{'_fhs'}{"$fh"} | 
 
| 785 | 4 | 0 | if $obj and $obj->can('mux_timeout') | 
 
| 847 | 0 | 6 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 849 | 0 | 6 | if ($$self{'_fhs'}{"$fh"}{'shutdown'}) | 
 
| 853 | 6 | 0 | if ($self->is_udp($fh)) | 
 
| 854 | 4 | 2 | if (my $udp_peer = $self->udp_peer($fh)) { } | 
 
| 887 | 0 | 0 | unless $fh and exists $$self{'_fhs'}{"$fh"} | 
 
| 889 | 0 | 0 | if ($which == 0 or $which == 2) | 
 
| 897 | 0 | 0 | if ($which == 1 or $which == 2) | 
 
| 900 | 0 | 0 | if (length $$self{'_fhs'}{"$fh"}{'outbuffer'}) { } | 
 
| 908 | 0 | 0 | unless (length $$self{'_fhs'}{"$fh"}{'inbuffer'} or length $$self{'_fhs'}{"$fh"}{'outbuffer'}) | 
 
| 927 | 0 | 0 | unless exists $$self{'_fhs'}{"$fh"} | 
 
| 930 | 0 | 0 | if length $$self{'_fhs'}{"$fh"}{'inbuffer'} | 
 
| 931 | 0 | 0 | if length $$self{'_fhs'}{"$fh"}{'outbuffer'} | 
 
| 940 | 0 | 0 | if $obj and $obj->can('mux_close') | 
 
| 955 | 0 | 7 | unless my $flags = fcntl($fh, 3, 0) | 
 
| 957 | 0 | 7 | unless fcntl $fh, 4, $flags | 2048 |