Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | /* Copyright (C) 2010 Matthew Fluet. |
2 | * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh | |
3 | * Jagannathan, and Stephen Weeks. | |
4 | * Copyright (C) 1997-2000 NEC Research Institute. | |
5 | * | |
6 | * MLton is released under a BSD-style license. | |
7 | * See the file MLton-LICENSE for details. | |
8 | */ | |
9 | ||
10 | #if (defined (MLTON_GC_INTERNAL_TYPES)) | |
11 | ||
12 | struct GC_signalsInfo { | |
13 | /* TRUE iff a signal handler is running. */ | |
14 | bool amInSignalHandler; | |
15 | bool gcSignalHandled; | |
16 | bool gcSignalPending; | |
17 | /* TRUE iff a signal has been received but not handled by the | |
18 | * mutator. | |
19 | */ | |
20 | volatile uint32_t signalIsPending; | |
21 | /* The signals for which a mutator signal handler needs to run in | |
22 | * order to handle the signal. | |
23 | */ | |
24 | sigset_t signalsHandled; | |
25 | /* The signals that have been recieved but not processed by the | |
26 | * mutator signal handler. | |
27 | */ | |
28 | sigset_t signalsPending; | |
29 | }; | |
30 | ||
31 | #endif /* (defined (MLTON_GC_INTERNAL_TYPES)) */ | |
32 | ||
33 | #if (defined (MLTON_GC_INTERNAL_FUNCS)) | |
34 | ||
35 | static void initSignalStack (GC_state s); | |
36 | ||
37 | #endif /* (defined (MLTON_GC_INTERNAL_FUNCS)) */ | |
38 | ||
39 | void GC_initSignalStack (GC_state s); |