make hWaitForInput/hReady not fail with "invalid argument" on Windows
authorSimon Marlow <simonmar@microsoft.com>
Thu, 30 Aug 2007 13:11:15 +0000 (13:11 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Thu, 30 Aug 2007 13:11:15 +0000 (13:11 +0000)
See #1198.  This doesn't fully fix it, because hReady still always
returns False on file handles.  I'm not really sure how to fix that.

cbits/inputReady.c

index f539110..947cc4f 100644 (file)
@@ -75,7 +75,8 @@ fdReady(int fd, int write, int msecs, int isSock)
            if (rc == ERROR_BROKEN_PIPE) {
                return 1; // this is probably what we want
            }
-           if (rc != ERROR_INVALID_HANDLE) {
+           if (rc != ERROR_INVALID_HANDLE && rc != ERROR_INVALID_FUNCTION) {
+                maperrno();
                return -1;
            }
        }