
#8684: hWaitForInput cannot be interrupted by async exceptions on unix -------------------------------------+------------------------------------- Reporter: nh2 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: 13497, 13525 | Blocking: Related Tickets: #12912, #13525 | Differential Rev(s): Phab:D42 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonmar): I think the table above is a bit wrong. The relevant bit of code is {{{ #if defined(linux_HOST_OS) && defined(THREADED_RTS) && HAVE_SYS_TIMERFD_H #define USE_PTHREAD_FOR_ITIMER #endif }}} which means we should have (I re-ordered the lines a bit) {{{ - POSIX (method selected in `posix/Itimer.c`) - Linux, threaded, >= 2.6.25 -> pthread with timerfd - Linux, threaded, < 2.6.25 -> timer_create() if it exists, otherwise setitimer() - Linux, non-threaded RTS -> timer_create() if it exists, otherwise setitimer() - Darwin -> pthread without timerfd - iOS -> pthread without timerfd - Windows (`win32/Ticker.c`) - Windows -> CreateTimerQueueTimer() }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8684#comment:31 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler