Add support for the IO manager thread on Windows
[ghc-hetmet.git] / rts / RtsStartup.c
index c2f765a..824ef98 100644 (file)
@@ -19,6 +19,7 @@
 #include "STM.h"        /* initSTM */
 #include "Signals.h"
 #include "RtsSignals.h"
+#include "ThrIOManager.h"
 #include "Timer.h"      /* startTimer, stopTimer */
 #include "Weak.h"
 #include "Ticky.h"
@@ -56,7 +57,7 @@
 # include "LLC.h"
 #endif
 
-#if defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
 #include "win32/AsyncIO.h"
 #endif
 
@@ -254,7 +255,7 @@ hs_init(int *argc, char **argv[])
     initDefaultHandlers();
 #endif
  
-#if defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
     startupAsyncIO();
 #endif
 
@@ -268,7 +269,7 @@ hs_init(int *argc, char **argv[])
     x86_init_fpu();
 #endif
 
-#if defined(THREADED_RTS) && !defined(mingw32_HOST_OS)
+#if defined(THREADED_RTS)
     ioManagerStart();
 #endif
 
@@ -371,7 +372,7 @@ hs_exit(void)
     /* start timing the shutdown */
     stat_startExit();
     
-#if defined(THREADED_RTS) && !defined(mingw32_HOST_OS)
+#if defined(THREADED_RTS)
     ioManagerDie();
 #endif
 
@@ -465,7 +466,7 @@ hs_exit(void)
     if (RtsFlags.TickyFlags.showTickyStats) PrintTickyInfo();
 #endif
 
-#if defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
     shutdownAsyncIO();
 #endif