Make tidyProgram discard speculative specialisation rules
[ghc.git] / rts / RtsSignals.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2005
4 *
5 * Signal processing / handling.
6 *
7 * ---------------------------------------------------------------------------*/
8
9 #ifndef RTSSIGNALS_H
10 #define RTSSIGNALS_H
11
12 #if !defined(mingw32_HOST_OS)
13
14 #include "posix/Signals.h"
15
16 #elif defined(mingw32_HOST_OS)
17
18 #include "win32/ConsoleHandler.h"
19
20 #else
21
22 #define signals_pending() (rtsFalse)
23
24 #endif
25
26 #if RTS_USER_SIGNALS
27
28 #include "BeginPrivate.h"
29
30 /*
31 * Function: initUserSignals()
32 *
33 * Initialize the console handling substrate.
34 */
35 void initUserSignals(void);
36
37 /*
38 * Function: initDefaultHandlers()
39 *
40 * Install any default signal/console handlers. Currently we install a
41 * Ctrl+C handler that shuts down the RTS in an orderly manner.
42 */
43 void initDefaultHandlers(void);
44 void resetDefaultHandlers(void);
45
46 void freeSignalHandlers(void);
47
48 /*
49 * Function: awaitUserSignals()
50 *
51 * Wait for the next console event. Currently a NOP (returns immediately.)
52 */
53 void awaitUserSignals(void);
54
55 /*
56 * Function: markSignalHandlers()
57 *
58 * Evacuate the handler queue. _Assumes_ that console event delivery
59 * has already been blocked.
60 */
61 void markSignalHandlers (evac_fn evac, void *user);
62
63 #include "EndPrivate.h"
64
65 #endif /* RTS_USER_SIGNALS */
66
67 #endif /* RTSSIGNALS_H */
68
69 // Local Variables:
70 // mode: C
71 // fill-column: 80
72 // indent-tabs-mode: nil
73 // c-basic-offset: 4
74 // buffer-file-coding-system: utf-8-unix
75 // End: