[project @ 2002-02-14 16:55:07 by sof]
[ghc-hetmet.git] / ghc / rts / RtsUtils.c
index a8ce114..e077204 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsUtils.c,v 1.22 2001/08/29 15:02:02 sewardj Exp $
+ * $Id: RtsUtils.c,v 1.24 2002/02/14 16:55:07 sof Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -224,20 +224,34 @@ time_str(void)
  * clean up for us.
  * -------------------------------------------------------------------------- */
 
+#if !defined(mingw32_TARGET_OS)
 void
 resetNonBlockingFd(int fd)
 {
   long fd_flags;
 
-#if !defined(mingw32_TARGET_OS)
   /* clear the non-blocking flag on this file descriptor */
   fd_flags = fcntl(fd, F_GETFL);
   if (fd_flags & O_NONBLOCK) {
     fcntl(fd, F_SETFL, fd_flags & ~O_NONBLOCK);
   }
-#endif
 }
 
+void
+setNonBlockingFd(int fd)
+{
+  long fd_flags;
+
+  /* clear the non-blocking flag on this file descriptor */
+  fd_flags = fcntl(fd, F_GETFL);
+  fcntl(fd, F_SETFL, fd_flags | O_NONBLOCK);
+}
+#else
+/* Don't support non-blocking FDs (yet) on mingw */
+void resetNonBlockingFd(int fd STG_UNUSED) {}
+void setNonBlockingFd(int fd STG_UNUSED) {}
+#endif
+
 static ullong startTime = 0;
 
 /* used in a parallel setup */