Problems interrupting IO with -threaded
Simon Marlow
marlowsd at gmail.com
Wed Jun 11 03:02:55 EDT 2008
Brandon S. Allbery KF8NH wrote:
>
> On 2008 Jun 11, at 0:43, Simon Marlow wrote:
>
>> Unix semantics just isn't the right thing when it comes to
>> non-blocking I/O. If only there were non-blocking read()/write()
>> system calls, we'd be fine.
>
>
> Have you considered using aio_read() and company?
aio is not exactly the right API either. The IO manager would have to
call aio_suspend(), and then in order to receive events from the RTS
over the special pipe we have set up, the IO manager would have to issue
its own aio_read() on this FD. And I'm not sure whether you can use
aio_suspend() to wait for network accept(), but I suspect not. There
ought to be a single way to wait for various different types of event on
Unix.
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list