4 unless(grep /blib/, @INC) {
13 if(-d "lib" && -f "TEST") {
15 if (! $Config{'d_fork'}) {
18 elsif ($Config{'extensions'} !~ /\bSocket\b/) {
19 $reason = 'Socket extension unavailable';
21 elsif ($Config{'extensions'} !~ /\bIO\b/) {
22 $reason = 'IO extension unavailable';
25 print "1..0 # Skip: $reason\n";
36 $SIG{ALRM} = sub { die; };
41 require IO::Socket::INET;
42 @ISA=qw(IO::Socket::INET);
44 use Socket qw(inet_aton inet_ntoa unpack_sockaddr_in);
48 my($sock,$addr_str, $multi) = @_;
49 #print "_get_addr($sock, $addr_str, $multi)\n";
51 print "not " unless $multi;
55 # private IP-addresses which I hope does not work anywhere :-)
56 inet_aton("10.250.230.10"),
57 inet_aton("10.250.230.12"),
58 inet_aton("127.0.0.1") # loopback
66 my($port, $addr) = unpack_sockaddr_in($_[0]);
67 $addr = inet_ntoa($addr);
68 #print "connect($self, $port, $addr)\n";
69 if($addr eq "10.250.230.10") {
73 if($addr eq "10.250.230.12") {
78 $self->SUPER::connect(@_);
87 $listen = IO::Socket::INET->new(Listen => 2,
94 $port = $listen->sockport;
98 $sock = $listen->accept() or die "$!";
101 print $sock->getline();
102 print $sock "ok 7\n";
110 } elsif(defined $pid) {
112 $sock = Multi->new(PeerPort => $port,
114 PeerAddr => 'localhost',
119 print $sock "ok 6\n";
120 sleep(1); # race condition
121 print $sock->getline();