1 /* -----------------------------------------------------------------------------
2 * $Id: Signals.h,v 1.12 2003/10/20 17:15:29 sof Exp $
4 * (c) The GHC Team, 1998-1999
6 * Signal processing / handling.
8 * ---------------------------------------------------------------------------*/
10 #if !defined(PAR) && !defined(mingw32_TARGET_OS)
11 #define RTS_USER_SIGNALS 1
13 extern StgPtr pending_handler_buf[];
14 extern StgPtr *next_pending_handler;
16 #define signals_pending() (next_pending_handler != pending_handler_buf)
18 extern void initUserSignals(void);
19 extern void blockUserSignals(void);
20 extern void unblockUserSignals(void);
22 extern rtsBool anyUserHandlers(void);
23 extern void awaitUserSignals(void);
25 /* sig_install declared in PrimOps.h */
27 extern void startSignalHandlers(void);
28 extern void markSignalHandlers (evac_fn evac);
29 extern void initDefaultHandlers(void);
31 extern void handleSignalsInThisThread(void);
33 #elif defined(mingw32_TARGET_OS)
34 #define RTS_USER_SIGNALS 1
35 #include "win32/ConsoleHandler.h"
38 #define signals_pending() (rtsFalse)
39 #define handleSignalsInThisThread() /* nothing */