On May 29, 7:55 pm, [EMAIL PROTECTED] (kenTk) wrote: > On May 29, 2:40 pm, [EMAIL PROTECTED] (Zentara) wrote: > > > On 28 May 2007 08:28:35 -0700, [EMAIL PROTECTED] (kenTk) wrote: > > > >If there is no server or no connection this hangs for about 20 seconds > > >and then crashes with the following error message. > > >The Timeout seems to make no difference and the 'warn' does not occur. > > >If works file with a good connection to a server. > > >Using 5.8.8 active perl. > > >Anyone got any suggestions for making it return undef in an orderly > > >fashion? > > >(I have tested it on Linux and it seems to work fine both ways) > > > >use strict; > > >use warnings; > > >use IO::Socket::INET; > > > >sub testSocket > > >{ > > > my $sock; > > > my $ok=0; > > > unless( $sock=IO::Socket::INET->new(192.168.5.41, > > > PeerPort => '21', > > > Proto => 'tcp', > > > Timeout =>'3')) > > > are you sure that '21' and '3' should be quoted? > > Maybe Perl figures it's context and does the right thing on linux? > > > > { warn 'Cant connect'; } > > > else > > > { $sock->close; $ok=1; } > > > return $ok; > > >} > > > I don't use win32, but have seen these somewhat related > > posts:http://perlmonks.org?node_id=567912 > > >http://perlmonks.org?node_id=529812 > > > zentara > > I tried removing the quotes around 21 and 3 but with no success. > I have already tried the ioctl fix for non-blocking on windoze but to > no avail. I believe that only applies to a new socket object after it > has been created. In this case that creation process fails with a > crash and doesnt return in an orderly fashion. I wish that I didn't > have to use windoze but ..............
I have now found that this behaves correctly a couple of other windoze win32 machines. There must be something bust deep down on this machine. Strange because I have never seen it on any other application on this machine. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/