summaryrefslogtreecommitdiff
path: root/includes/rts/IOManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/rts/IOManager.h')
-rw-r--r--includes/rts/IOManager.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/includes/rts/IOManager.h b/includes/rts/IOManager.h
index 603cb3f578..4c392e2058 100644
--- a/includes/rts/IOManager.h
+++ b/includes/rts/IOManager.h
@@ -15,6 +15,11 @@
#if defined(mingw32_HOST_OS)
+#define IO_MANAGER_WAKEUP 0xffffffff
+#define IO_MANAGER_DIE 0xfffffffe
+/* spurious wakeups are returned as zero. */
+/* console events are ((event<<1) | 1). */
+
int rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
void rts_ConsoleHandlerDone ( int ev );
extern StgInt console_handler;
@@ -31,13 +36,15 @@ void setIOManagerWakeupFd (int fd);
#endif
-//
-// Communicating with the IO manager thread (see GHC.Conc).
-// Posix implementation in posix/Signals.c
-// Win32 implementation in win32/ThrIOManager.c
-//
+/*
+ * Communicating with the IO manager thread (see GHC.Conc).
+ * Posix implementation in posix/Signals.c
+ * Win32 implementation in win32/ThrIOManager.c, Windows's WINIO has the same
+ * interfaces for Threaded and Non-threaded I/O, so these methods are always
+ * available for WINIO.
+*/
void ioManagerWakeup (void);
-#if defined(THREADED_RTS)
+#if defined(THREADED_RTS) || defined(mingw32_HOST_OS)
void ioManagerDie (void);
void ioManagerStart (void);
#endif