summaryrefslogtreecommitdiff
path: root/rts/IOManager.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/IOManager.c')
-rw-r--r--rts/IOManager.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/rts/IOManager.c b/rts/IOManager.c
new file mode 100644
index 0000000000..533edbf45e
--- /dev/null
+++ b/rts/IOManager.c
@@ -0,0 +1,21 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team 1998-2020
+ *
+ * Hooks for the I/O subsystem(s) that are called from other parts of the RTS.
+ *
+ * There are several different I/O subsystem implementations (aka I/O managers),
+ * for different platforms (notably Windows vs others), and for the threaded vs
+ * non-threaded RTS. These implementations all need hooks into other parts of
+ * the RTS, such as startup/shutdown, the scheduler and other special features.
+ *
+ * To keep things comprehensible, all the hooks used by all the different I/O
+ * subsystem implementations are centralised here. Not all implementations use
+ * all hooks.
+ *
+ * -------------------------------------------------------------------------*/
+
+#include "Rts.h"
+#include "rts/IOInterface.h" // exported
+#include "IOManager.h" // RTS internal
+