4 unless(grep /blib/, @INC) {
9 require($ENV{PERL_CORE} ? './test.pl' : './t/test.pl');
12 my $can_fork = $Config{d_fork} ||
13 (($^O eq 'MSWin32' || $^O eq 'NetWare') and
14 $Config{useithreads} and
15 $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/
18 if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bSocket\b/) {
19 $reason = 'Socket extension unavailable';
21 elsif ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bIO\b/) {
22 $reason = 'IO extension unavailable';
27 skip_all($reason) if $reason;
36 require IO::Socket::INET;
37 @ISA=qw(IO::Socket::INET);
39 use Socket qw(inet_aton inet_ntoa unpack_sockaddr_in);
43 my($sock,$addr_str, $multi) = @_;
44 #print "_get_addr($sock, $addr_str, $multi)\n";
46 print "not " unless $multi;
50 # private IP-addresses which I hope does not work anywhere :-)
51 inet_aton("10.250.230.10"),
52 inet_aton("10.250.230.12"),
53 inet_aton("127.0.0.1") # loopback
61 my($port, $addr) = unpack_sockaddr_in($_[0]);
62 $addr = inet_ntoa($addr);
63 #print "connect($self, $port, $addr)\n";
64 if($addr eq "10.250.230.10") {
68 if($addr eq "10.250.230.12") {
73 $self->SUPER::connect(@_);
82 $listen = IO::Socket::INET->new(Listen => 2,
89 $port = $listen->sockport;
93 $sock = $listen->accept() or die "$!";
96 print $sock->getline();
105 } elsif(defined $pid) {
107 $sock = Multi->new(PeerPort => $port,
109 PeerAddr => 'localhost',
114 print $sock "ok 6\n";
115 sleep(1); # race condition
116 print $sock->getline();