Fold ghc-prim.git into ghc.git (re #8545)
[ghc.git] / includes / rts / BlockSignals.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2009
4 *
5 * RTS signal handling
6 *
7 * Do not #include this file directly: #include "Rts.h" instead.
8 *
9 * To understand the structure of the RTS headers, see the wiki:
10 * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
11 *
12 * ---------------------------------------------------------------------------*/
13
14 #ifndef RTS_BLOCKSIGNALS_H
15 #define RTS_BLOCKSIGNALS_H
16
17 /* Used by runProcess() in the process package
18 */
19
20 /*
21 * Function: blockUserSignals()
22 *
23 * Temporarily block the delivery of further console events. Needed to
24 * avoid race conditions when GCing the queue of outstanding handlers or
25 * when emptying the queue by running the handlers.
26 *
27 */
28 void blockUserSignals(void);
29
30 /*
31 * Function: unblockUserSignals()
32 *
33 * The inverse of blockUserSignals(); re-enable the deliver of console events.
34 */
35 void unblockUserSignals(void);
36
37 #endif /* RTS_BLOCKSIGNALS_H */