Replacing select() in the non-threaded RTS?
simonmarhaskell at gmail.com
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
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