Replacing select() in the non-threaded RTS?

Simon Marlow simonmarhaskell at
Thu May 31 05:49:22 EDT 2007

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:

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.


More information about the Glasgow-haskell-users mailing list