Re: aio

Gerold Jury
2001-12-21T15:28:18Z

On Friday 21 December 2001 14:48, Ingo Molnar wrote:
> On Fri, 21 Dec 2001, Gerold Jury wrote:
> > It is simply too early for sexy discussions. For me, the most
> > appealing part of AIO is the socket handling. It seems a little bit
> > broken in the current glibc emulation/implementation. Recv and send
> > operations are ordered when used on the same socket handle. Thus a
> > recv must be finished before a subsequent send will happen. Good idea
> > for files, bad for sockets.
>
> is this a fundamental limitation expressed in the interface, or just an
> implementational limitation? On sockets this is indeed a big problem, HTTP
> pipelining wants completely separate receive/send queues.
>
> Ingo
>

That is a very good question.

The Single UNIX ® Specification, Version 2 has the following to say.

If _POSIX_SYNCHRONIZED_IO is defined and synchronised I/O is enabled on the
file associated with aiocbp->aio_fildes, the behaviour of this function is
according to the definitions of synchronised I/O data integrity completion
and synchronised I/O file integrity completion.

Maybe a was a little bit too fast in blaming glibc. I will go and look for
more documentation about disabling synchronised I/O on a socket.

Dup()licating the socket handle is an easy workaround, but now i am
convinced, a little bit man page digging will be lots of fun.

I hope the efforts of Benjamin LaHaise receive more attention and as soon as
i know more about disabling synchronised I/O on sockets i will send an other
email.

Gerold

--
I love AIO