Re: Vectored AIO breakage for sockets and pipes ?

2007-01-18 Thread Zach Brown
I'm not sure what the best way to fix this is. One option is to always make a copy of the iovec and pass that down. Any other thoughts ? Can we use this as another motivation to introduce an iovec container struct instead of passing a raw iov/seg? The transition could turn hand-rolled

Re: Vectored AIO breakage for sockets and pipes ?

2007-01-18 Thread Zach Brown
I'm not sure what the best way to fix this is. One option is to always make a copy of the iovec and pass that down. Any other thoughts ? Can we use this as another motivation to introduce an iovec container struct instead of passing a raw iov/seg? The transition could turn hand-rolled

Vectored AIO breakage for sockets and pipes ?

2007-01-17 Thread Suparna Bhattacharya
The call to aio_advance_iovec() in aio_rw_vect_retry() becomes problematic when it comes to pipe and socket operations which internally modify/advance the iovec themselves. As a result AIO writes to sockets fail to return the correct result. I'm not sure what the best way to fix this is. One

Vectored AIO breakage for sockets and pipes ?

2007-01-17 Thread Suparna Bhattacharya
The call to aio_advance_iovec() in aio_rw_vect_retry() becomes problematic when it comes to pipe and socket operations which internally modify/advance the iovec themselves. As a result AIO writes to sockets fail to return the correct result. I'm not sure what the best way to fix this is. One