base: fdReady(): Ensure and doc that return values are always -1/0/1
authorNiklas Hamb├╝chen <mail@nh2.me>
Wed, 27 Sep 2017 19:29:06 +0000 (15:29 -0400)
committerBen Gamari <ben@smart-cactus.org>
Wed, 27 Sep 2017 21:37:29 +0000 (17:37 -0400)
Reviewers: bgamari, austin, hvr, Phyx

Reviewed By: Phyx

Subscribers: Phyx, rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D4010

libraries/base/cbits/inputReady.c

index 21ad36d..30327ba 100644 (file)
  *
  * This function blocks until either `msecs` have passed, or input is
  * available.
+ *
+ * Returns:
+ *   1 => Input ready, 0 => not ready, -1 => error
+ * On error, sets `errno`.
  */
 int
 fdReady(int fd, int write, int msecs, int isSock)
@@ -117,8 +121,7 @@ fdReady(int fd, int write, int msecs, int isSock)
             }
         }
 
-        /* 1 => Input ready, 0 => not ready, -1 => error */
-        return (ready);
+        return (ready > 0);
     } else {
         DWORD rc;
         HANDLE hFile = (HANDLE)_get_osfhandle(fd);