Fix non-blocking sockets on VMS.
authorCraig A. Berry <craigberry@mac.com>
Sun, 5 May 2013 19:50:54 +0000 (14:50 -0500)
committerCraig A. Berry <craigberry@mac.com>
Sun, 5 May 2013 20:29:51 +0000 (15:29 -0500)
It turns out sockets on VMS (just like Windows) are blocking by
default, but the same code already in IO::Socket::blocking for
Windows that uses ioctl to set non-blocking works just fine on VMS.

This is part of [perl #116433] as the deficieny was exposed by
tests in IO::Socket::IP.

dist/IO/lib/IO/Socket.pm

index 8873fbf..aa3c9ad 100644 (file)
@@ -24,7 +24,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
 
 @ISA = qw(IO::Handle);
 
-$VERSION = "1.35";
+$VERSION = "1.36";
 
 @EXPORT_OK = qw(sockatmark);
 
@@ -167,7 +167,7 @@ sub blocking {
     my $sock = shift;
 
     return $sock->SUPER::blocking(@_)
-        if $^O ne 'MSWin32';
+        if $^O ne 'MSWin32' && $^O ne 'VMS';
 
     # Windows handles blocking differently
     #