foreach (@Listeners){ vec($rout,fileno($_),1) or next; # listener is nonblocking, goes until # expected accept failure while (accept(my $NewServer, $_)){ push @Clients, $NewServer #### foreach (@Listeners){ vec($rout,fileno($_),1) or next; # listener is blocking, but we # know this listener is hot if (accept(my $NewServer, $_)){ push @Clients, $NewServer }else{ log "accept: $!" } #### foreach (@Listeners){ vec($rout,fileno($_),1) or next; # listener is blocking, but we # know this listener is hot acc: accept(my $NewServer, $_) and push @Clients, $NewServer; # select again to see if there's another my $rvec; vec($rvec,fileno($_),1) = 1; select($rvec,undef,undef,0); vec($rvec,fileno($_),1) and goto acc;