* ---------------------------------------------------------------------------*/\r
\r
#include "Rts.h"\r
-#include "ThrIOManager.h"\r
+#include "IOManager.h"\r
#include "Prelude.h"\r
#include <windows.h>\r
\r
hRes = CreateEvent ( NULL, // no security attrs\r
TRUE, // manual reset\r
FALSE, // initial state,\r
- "IO Manager Event" );\r
+ NULL ); // event name: NULL for private events\r
if (hRes == NULL) {\r
sysErrorBelch("getIOManagerEvent");\r
stg_exit(EXIT_FAILURE);\r
#endif\r
} \r
\r
-#if defined(THREADED_RTS)\r
void\r
ioManagerWakeup (void)\r
{\r
sendIOManagerEvent(IO_MANAGER_WAKEUP);\r
}\r
\r
+#if defined(THREADED_RTS)\r
void\r
ioManagerDie (void)\r
{\r
Capability *cap;\r
if (io_manager_event == INVALID_HANDLE_VALUE) {\r
cap = rts_lock();\r
+#if defined(mingw32_HOST_OS) && defined(__PIC__)\r
+ rts_evalIO(cap,_imp__base_GHCziConc_ensureIOManagerIsRunning_closure,NULL);\r
+#else\r
rts_evalIO(cap,&base_GHCziConc_ensureIOManagerIsRunning_closure,NULL);\r
+#endif\r
rts_unlock(cap);\r
}\r
}\r