
#13497: GHC does not use select()/poll() correctly on non-Linux platforms -------------------------------------+------------------------------------- Reporter: nh2 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8684, #12912 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nh2): Using `git grep "select("`, I've found uses of `select()` in: * `libraries/base/cbits/inputReady.c` * `rts/posix/Select.c` The first one I already knew about, the other one has 3 uses. 2 of those are with a 0-timeout (in which case there is no problem), and the one in `awaitEvent()` aims to block as long as possible, so that's not a problem either. The only occurrence of `poll(` is in the new code that carries the problem I mentioned (https://ghc.haskell.org/trac/ghc/ticket/12912#comment:4); this probably has to be fixed (both to not crash and to handle the fact that `poll()` may not update the timeout. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13497#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler