1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-2005
5 * Signal processing / handling.
7 * ---------------------------------------------------------------------------*/
12 #if !defined(mingw32_HOST_OS)
14 #include "posix/Signals.h"
16 #elif defined(mingw32_HOST_OS)
18 #include "win32/ConsoleHandler.h"
22 #define signals_pending() (rtsFalse)
28 #include "BeginPrivate.h"
31 * Function: initUserSignals()
33 * Initialize the console handling substrate.
35 void initUserSignals(void);
38 * Function: initDefaultHandlers()
40 * Install any default signal/console handlers. Currently we install a
41 * Ctrl+C handler that shuts down the RTS in an orderly manner.
43 void initDefaultHandlers(void);
44 void resetDefaultHandlers(void);
46 void freeSignalHandlers(void);
49 * Function: awaitUserSignals()
51 * Wait for the next console event. Currently a NOP (returns immediately.)
53 void awaitUserSignals(void);
56 * Function: markSignalHandlers()
58 * Evacuate the handler queue. _Assumes_ that console event delivery
59 * has already been blocked.
61 void markSignalHandlers (evac_fn evac, void *user);
63 #include "EndPrivate.h"
65 #endif /* RTS_USER_SIGNALS */
67 #endif /* RTSSIGNALS_H */