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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Dec 23 2001 - 21:00:24 EST