1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-1999
5 * Signal processing / handling.
7 * ---------------------------------------------------------------------------*/
9 #if !defined(PAR) && !defined(mingw32_HOST_OS)
10 #define RTS_USER_SIGNALS 1
12 extern void initUserSignals(void);
13 extern void blockUserSignals(void);
14 extern void unblockUserSignals(void);
16 extern rtsBool anyUserHandlers(void);
18 #if !defined(RTS_SUPPORTS_THREADS)
20 extern StgPtr pending_handler_buf[];
21 extern StgPtr *next_pending_handler;
22 #define signals_pending() (next_pending_handler != pending_handler_buf)
23 extern void awaitUserSignals(void);
27 extern void startSignalHandler(int sig);
31 /* sig_install declared in PrimOps.h */
33 extern void startSignalHandlers(void);
34 extern void markSignalHandlers (evac_fn evac);
35 extern void initDefaultHandlers(void);
37 #elif defined(mingw32_HOST_OS)
38 #define RTS_USER_SIGNALS 1
39 #include "win32/ConsoleHandler.h"
42 #define signals_pending() (rtsFalse)
43 #define handleSignalsInThisThread() /* nothing */