Duncan Coutts pushed to branch wip/io-manager-deadlock-detection at Glasgow Haskell Compiler / GHC
Commits:
ecf70089 by Duncan Coutts at 2026-02-12T22:53:53+00:00
FIXUP Add wakeupIOManager support for select I/O manager
- - - - -
d4fa6e0e by Duncan Coutts at 2026-02-12T22:54:21+00:00
FIXUP Add wakeupIOManager support for poll I/O manager
- - - - -
731729ec by Duncan Coutts at 2026-02-12T22:55:07+00:00
FIXUP: remove now-unused HAVE_EVENTFD_H and #includes
- - - - -
0810b12f by Duncan Coutts at 2026-02-12T22:58:13+00:00
FIXME: turns out we do not need the bool after_fork. Simplify and rebase.
- - - - -
5 changed files:
- rts/IOManager.h
- rts/posix/MIO.c
- rts/posix/Poll.c
- rts/posix/Select.c
- rts/posix/Signals.c
Changes:
=====================================
rts/IOManager.h
=====================================
@@ -269,6 +269,8 @@ void initCapabilityIOManager(CapIOManager *iomgr);
*/
void freeCapabilityIOManager(CapIOManager *iomgr, bool after_fork);
+// FIXME: turns out we do not need the bool after_fork. Simplify and rebase.
+
/* CapIOManager life cycle:
*
* alloc -> init -> free -> free struct (!after_fork)
=====================================
rts/posix/MIO.c
=====================================
@@ -22,10 +22,6 @@
# include
#endif
-#if defined(HAVE_EVENTFD_H)
-# include
-#endif
-
#include
#include
=====================================
rts/posix/Poll.c
=====================================
@@ -158,9 +158,7 @@ void initCapabilityIOManagerPoll(CapIOManager *iomgr)
void freeCapabilityIOManagerPoll(CapIOManager *iomgr, bool after_fork)
{
stgFree(iomgr->full_poll_table);
- if (!after_fork) {
- closeFdWakeup(iomgr->wakeup_fd_r, iomgr->wakeup_fd_w);
- }
+ closeFdWakeup(iomgr->wakeup_fd_r, iomgr->wakeup_fd_w);
}
=====================================
rts/posix/Select.c
=====================================
@@ -66,9 +66,7 @@ void initCapabilityIOManagerSelect(CapIOManager *iomgr)
void freeCapabilityIOManagerSelect(CapIOManager *iomgr, bool after_fork)
{
- if (!after_fork) {
- closeFdWakeup(iomgr->wakeup_fd_r, iomgr->wakeup_fd_w);
- }
+ closeFdWakeup(iomgr->wakeup_fd_r, iomgr->wakeup_fd_w);
}
void wakeupIOManagerSelect(CapIOManager *iomgr)
=====================================
rts/posix/Signals.c
=====================================
@@ -37,10 +37,6 @@
# include
#endif
-#if defined(HAVE_EVENTFD_H)
-# include
-#endif
-
#if defined(HAVE_TERMIOS_H)
#include
#endif
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/89687a43e569b42c0fd9e0f48a6272a...
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/89687a43e569b42c0fd9e0f48a6272a...
You're receiving this email because of your account on gitlab.haskell.org.