add missing defined for M$
authorminima <minima>
Fri, 11 Jan 2002 01:38:41 +0000 (01:38 +0000)
committerminima <minima>
Fri, 11 Jan 2002 01:38:41 +0000 (01:38 +0000)
perl/Msg.pm

index 5aef961ee4f4162593228d0c1abd71a41dd52fef..165596d270265b34c2fc5cba785cc633f1f58b5c 100644 (file)
@@ -53,16 +53,13 @@ BEGIN {
                require Errno; Errno->import(qw(EAGAIN EINPROGRESS EWOULDBLOCK));
        };
 
-       unless ($^O eq 'MSWin32') {
-               if ($] >= 5.6) {
-                       eval {
-                               require Socket; Socket->import(qw(IPPROTO_TCP TCP_NODELAY));
-                       };
-               } else {
-                       dbg("IPPROTO_TCP and TCP_NODELAY manually defined");
-                       eval 'sub IPPROTO_TCP {     6 };';
-                       eval 'sub TCP_NODELAY {     1 };';
-               }
+       eval {
+               require Socket; Socket->import(qw(IPPROTO_TCP TCP_NODELAY));
+       };
+       unless (*IPPROTO_TCP  && !$^O =~ /^MS/) {
+               dbg("IPPROTO_TCP and TCP_NODELAY manually defined");
+               eval '*IPPROTO_TCP     = sub {     6 };';
+               eval '*TCP_NODELAY     = sub {     1 };';
        }
        # http://support.microsoft.com/support/kb/articles/Q150/5/37.asp
        # defines EINPROGRESS as 10035.  We provide it here because some
@@ -72,6 +69,8 @@ BEGIN {
                eval '*EWOULDBLOCK = *EAGAIN = sub { 10035 };';
                eval '*F_GETFL     = sub {     0 };';
                eval '*F_SETFL     = sub {     0 };';
+               eval '*IPPROTO_TCP     = sub {     6 };';
+               eval '*TCP_NODELAY     = sub {     1 };';
                $blocking_supported = 1;
        } 
 }