On Sun, Dec 12, 2010 at 6:37 PM, Mathijs Kwik <[email protected]> wrote:
> Hi all,
>
> I read the paper about the new ghc7 event handling IO manager goodies.
> This is all very exciting stuff. I didn't know GHC's RTS had these
> smart async-IO facilities.
> The paper pointed me at threadWaitRead/threadWaitWrite.
> While very nice the way they are, I would also like to be able to wait
> on more than 1 fd until 1 of them becomes available.
>
> Would it be possible to create this functionality myself? Or do I need
> to request it and wait for a new GHC?
> It looks like the functionality I need is in System/Event/Thread.
> I think I can manage to write my own version of those functions which
> then loop through a list of fds, but the original file imports
> System/Event/Manager (registerFd, unregisterFd_) which I can't do
> because it's a hidden module.
> Is there a way around this?
>

Can you do it with forkIO? That is, have two light-weight threads,
each waiting on a different fd, which perform the same action when one
of them wakes up.

Maybe that would become too hard to synchronize the threads together,
but it might be the first thing to try before delving into GHC
internals.

Take care,
Antoine

>
> Thanks,
> Mathijs
>
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to