win32-ewouldblock-20040602
[openafs.git] / src / rx / rx_xmit_nt.c
index f8ce9a3..4c56679 100644 (file)
@@ -78,6 +78,14 @@ recvmsg(int socket, struct msghdr *msgP, int flags)
        /* Accounts for any we didn't copy in to iovecs. */
        code -= size;
     } else {
+#ifdef AFS_NT40_ENV
+    if (code == SOCKET_ERROR)
+        code = WSAGetLastError();
+    if (code == WSAEWOULDBLOCK)
+        errno = WSAEWOULDBLOCK;
+    else
+        errno = EIO;
+#endif /* AFS_NT40_ENV */
        code = -1;
     }
 
@@ -125,10 +133,12 @@ sendmsg(int socket, struct msghdr *msgP, int flags)
        switch (code) {
        case WSAEINPROGRESS:
        case WSAENETRESET:
-       case WSAEWOULDBLOCK:
        case WSAENOBUFS:
            errno = 0;
            break;
+    case WSAEWOULDBLOCK:
+        errno = WSAEWOULDBLOCK;
+        break;
        default:
            errno = EIO;
            break;
@@ -145,8 +155,4 @@ sendmsg(int socket, struct msghdr *msgP, int flags)
     return code;
 
 }
-
-
-
-
 #endif /* AFS_NT40_ENV || AFS_DJGPP_ENV */