summaryrefslogtreecommitdiff
path: root/includes/rts/BlockSignals.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-08-29 13:28:14 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-08-29 13:28:14 +0000
commit254528e32a007e508bb5967948ba02aa15c7e482 (patch)
tree9d65bdb603dddd016ec1159f39b881a851f2c7d6 /includes/rts/BlockSignals.h
parent95ec750f94236c2ae127a147d7c9bebec036bcab (diff)
downloadhaskell-254528e32a007e508bb5967948ba02aa15c7e482.tar.gz
Fix incorrectly hidden RTS symbols
Diffstat (limited to 'includes/rts/BlockSignals.h')
-rw-r--r--includes/rts/BlockSignals.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/includes/rts/BlockSignals.h b/includes/rts/BlockSignals.h
new file mode 100644
index 0000000000..bc02f5fccf
--- /dev/null
+++ b/includes/rts/BlockSignals.h
@@ -0,0 +1,37 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 1998-2009
+ *
+ * RTS signal handling
+ *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ * http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
+ * ---------------------------------------------------------------------------*/
+
+#ifndef RTS_BLOCKSIGNALS_H
+#define RTS_BLOCKSIGNALS_H
+
+/* Used by runProcess() in the process package
+ */
+
+/*
+ * Function: blockUserSignals()
+ *
+ * Temporarily block the delivery of further console events. Needed to
+ * avoid race conditions when GCing the queue of outstanding handlers or
+ * when emptying the queue by running the handlers.
+ *
+ */
+void blockUserSignals(void);
+
+/*
+ * Function: unblockUserSignals()
+ *
+ * The inverse of blockUserSignals(); re-enable the deliver of console events.
+ */
+void unblockUserSignals(void);
+
+#endif /* RTS_BLOCKSIGNALS_H */