[Haskell-cafe] Re: "C" buffer suggestions??

Adam Langley agl at imperialviolet.org
Mon Jun 23 13:07:25 EDT 2008


2008/6/23 Galchin, Vasili <vigalchin at gmail.com>:
> Basically I want to model POSIX async io "aiocb"(
> http://uw714doc.sco.com/en/man/html.5/aiocb.5.html) in Haskell .. in
> particular the aiocb field "aio_buf"!

That's a mutable buffer, so this has to be pretty low level in your
wrapping of the AIO interface. I would keep it as a Ptr Word8 at that
point. ByteStrings are probably the correct type for the user visible
interface, but I would guess not here.

Plus, ByteString data lives in the Haskell heap so could get moved
about by the collector. Since an AIO interface is probably going to
return while the IO is still in progress, you don't want to stop the
collector, but nor do you want the data moving because the kernel's
pointer isn't going to move with it.

AGL

-- 
Adam Langley agl at imperialviolet.org http://www.imperialviolet.org


More information about the Haskell-Cafe mailing list