Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / runtime / gc / signals.h
CommitLineData
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
12struct 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
35static void initSignalStack (GC_state s);
36
37#endif /* (defined (MLTON_GC_INTERNAL_FUNCS)) */
38
39void GC_initSignalStack (GC_state s);