Fix #3429: a tricky race condition
[ghc-hetmet.git] / rts / RtsSignals.h
index 6d9374a..601a46b 100644 (file)
@@ -6,10 +6,10 @@
  *
  * ---------------------------------------------------------------------------*/
 
-#ifndef RTS_SIGNALS_H
-#define RTS_SIGNALS_H
+#ifndef RTSSIGNALS_H
+#define RTSSIGNALS_H
 
-#if !defined(PAR) && !defined(mingw32_HOST_OS)
+#if !defined(mingw32_HOST_OS)
 
 #include "posix/Signals.h"
 
 
 #include "win32/ConsoleHandler.h"
 
-#else /* PAR */
+#else
 
 #define signals_pending() (rtsFalse)
 
-#endif /* PAR */
-
+#endif
 
 #if RTS_USER_SIGNALS
 
@@ -40,6 +39,7 @@ extern void initUserSignals(void);
  * Ctrl+C handler that shuts down the RTS in an orderly manner.
  */
 extern void initDefaultHandlers(void);
+extern void resetDefaultHandlers(void);
 
 extern void freeSignalHandlers(void);
 
@@ -73,8 +73,8 @@ extern void awaitUserSignals(void);
  * Evacuate the handler queue. _Assumes_ that console event delivery
  * has already been blocked.
  */
-extern void markSignalHandlers (evac_fn evac);
+extern void markSignalHandlers (evac_fn evac, void *user);
 
 #endif /* RTS_USER_SIGNALS */
 
-#endif /* RTS_SIGNALS_H */
+#endif /* RTSSIGNALS_H */