summaryrefslogtreecommitdiff
path: root/rts/IOManager.h
diff options
context:
space:
mode:
authorDuncan Coutts <duncan@well-typed.com>2020-12-29 23:14:33 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-11-22 02:06:17 -0500
commit9943baf9b76374cb2eef53671a52fefbaed1cbce (patch)
treeda3d7fe9850aef9e8de9e2f8e40f51585c9964c3 /rts/IOManager.h
parent3294622041192df4e9ed004097fabd70932634a4 (diff)
downloadhaskell-9943baf9b76374cb2eef53671a52fefbaed1cbce.tar.gz
Move the awaitEvent declaration into IOManager.h
And add or adjust comments at the use sites of awaitEvent.
Diffstat (limited to 'rts/IOManager.h')
-rw-r--r--rts/IOManager.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/rts/IOManager.h b/rts/IOManager.h
index 80ef84b7c2..fe65f373da 100644
--- a/rts/IOManager.h
+++ b/rts/IOManager.h
@@ -149,6 +149,20 @@ void insertIntoSleepingQueue(StgTSO *tso, LowResTime target);
INLINE_HEADER bool anyPendingTimeoutsOrIO(CapIOManager *iomgr);
+#if !defined(THREADED_RTS)
+/* Check whether there is any completed I/O or expired timers. If so,
+ * process the competions as appropriate, which will typically cause some
+ * waiting threads to be woken up.
+ *
+ * Called from schedule() both *before* and *after* scheduleDetectDeadlock().
+ *
+ * Defined in posix/Select.c
+ * or win32/AwaitEvent.c
+ */
+void awaitEvent(bool wait);
+#endif
+
+
/* Pedantic warning cleanliness
*/
#if !defined(THREADED_RTS) && defined(mingw32_HOST_OS)