
Bryan O'Sullivan wrote:
Stefan O'Rear wrote:
I don't beleive the GHC team would be interested in receiving any patches to the non-threaded RTS, since it is scheduled for removal in 6.8 IIRC (leaving only threaded).
But the threaded RTS calls select, too, only from Haskell instead of C. So the problem remains, unless the plan to switch to the pluggable event model will mature earlier than seems to be expected.
I'd be much more interested in seeing this done for the threaded RTS. This is the ticket: http://hackage.haskell.org/trac/ghc/ticket/635 AFAIK it's not a trivial swap-out, because epoll()/kevent() work quite differently from select(). You might want to take a look at Einar Karttunen's network-alt package which has epoll() support, I think. I don't think we can entirely remove the non-threaded RTS since some people still rely on being able to run Haskell code in a single-threaded environment. But I consider it deprecated. Cheers, Simon