- for my $i (0..2) {
- if (select(my $rout = $rin, undef, undef, 1)) {
- my $fd = $recv_fd->(fileno($sock));
- if ($fd >= 0) {
- my $rdr = ($fd == 0 ? '<&=' : '>&=');
+ if (select(my $rout = $rin, undef, undef, 1)) {
+ my @fds = $recv_3fds->(fileno($sock));
+ if (scalar(@fds) == 3) {
+ my $i = 0;
+ for my $rdr (qw(<&= >&= >&=)) {
+ my $fd = shift(@fds);