4 unless(grep /blib/, @INC) {
13 my $can_fork = $Config{d_fork} ||
14 (($^O eq 'MSWin32' || $^O eq 'NetWare') and
15 $Config{useithreads} and
16 $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/
19 if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bSocket\b/) {
20 $reason = 'Socket extension unavailable';
22 elsif ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bIO\b/) {
23 $reason = 'IO extension unavailable';
29 print "1..0 # Skip: $reason\n";
39 $SIG{ALRM} = sub { die; };
44 require IO::Socket::INET;
45 @ISA=qw(IO::Socket::INET);
47 use Socket qw(inet_aton inet_ntoa unpack_sockaddr_in);
51 my($sock,$addr_str, $multi) = @_;
52 #print "_get_addr($sock, $addr_str, $multi)\n";
54 print "not " unless $multi;
58 # private IP-addresses which I hope does not work anywhere :-)
59 inet_aton("10.250.230.10"),
60 inet_aton("10.250.230.12"),
61 inet_aton("127.0.0.1") # loopback
69 my($port, $addr) = unpack_sockaddr_in($_[0]);
70 $addr = inet_ntoa($addr);
71 #print "connect($self, $port, $addr)\n";
72 if($addr eq "10.250.230.10") {
76 if($addr eq "10.250.230.12") {
81 $self->SUPER::connect(@_);
90 $listen = IO::Socket::INET->new(Listen => 2,
97 $port = $listen->sockport;
101 $sock = $listen->accept() or die "$!";
104 print $sock->getline();
105 print $sock "ok 7\n";
113 } elsif(defined $pid) {
115 $sock = Multi->new(PeerPort => $port,
117 PeerAddr => 'localhost',
122 print $sock "ok 6\n";
123 sleep(1); # race condition
124 print $sock->getline();