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 <errno.h> #endif -#if defined(HAVE_EVENTFD_H) -# include <sys/eventfd.h> -#endif - #include <stdlib.h> #include <unistd.h> ===================================== 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 <errno.h> #endif -#if defined(HAVE_EVENTFD_H) -# include <sys/eventfd.h> -#endif - #if defined(HAVE_TERMIOS_H) #include <termios.h> #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.