@@ -7,7 +7,7 @@ use Test::More;
77
88# use Time::HiRes qw(sleep);
99our $CRLF ;
10- use Socket qw( $CRLF) ;
10+ use Socket qw( $CRLF AF_INET AF_INET6 ) ;
1111
1212our $LOGGING = 0;
1313
@@ -101,23 +101,19 @@ my $can_fork
101101my $tests = @TESTS ;
102102my $tport = 8334;
103103
104- my @ addresses = (
105- {server => ' ::' , client => ' ::1' },
106- {server => ' 0.0.0.0' , client => ' 127.0.0.1' }
104+ my % addresses = (
105+ AF_INET6() => {server => ' ::' , client => ' ::1' },
106+ AF_INET() => {server => ' 0.0.0.0' , client => ' 127.0.0.1' }
107107);
108108my $family ;
109- for my $id (0 .. $#addresses ) {
110- my $tsock = IO::Socket::IP-> new(
111- LocalAddr => $addresses [$id ]-> {server },
112- LocalPort => $tport ,
113- Listen => 1,
114- ReuseAddr => 1
115- );
116- if ($tsock ) {
117- close $tsock ;
118- $family = $id ;
119- last ;
120- }
109+ my $tsock = IO::Socket::IP-> new(
110+ LocalPort => $tport ,
111+ Listen => 1,
112+ ReuseAddr => 1
113+ );
114+ if ($tsock ) {
115+ $family = $tsock -> sockdomain;
116+ close $tsock ;
121117}
122118
123119if (!$can_fork ) {
@@ -153,7 +149,7 @@ if ($pid = fork) {
153149 }
154150 use IO::Socket::IP;
155151 my $sock = IO::Socket::IP-> new(
156- PeerAddr => $addresses [ $family ] -> {client },
152+ PeerAddr => $addresses { $family } -> {client },
157153 PeerPort => $tport ,
158154 ) or die ;
159155 if (0) {
@@ -176,7 +172,7 @@ if ($pid = fork) {
176172else {
177173 die " cannot fork: $! " unless defined $pid ;
178174 my $d = HTTP::Daemon-> new(
179- LocalAddr => $addresses [ $family ] -> {server },
175+ LocalAddr => $addresses { $family } -> {server },
180176 LocalPort => $tport ,
181177 ReuseAddr => 1,
182178 ) or die ;
0 commit comments