[PATCH] Initialize IO_STATUS_BLOCK for pread, pwrite

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Nov 29 12:36:00 GMT 2017


On Nov 29 13:04, Corinna Vinschen wrote:
> - If you do async IO, you have to handle STATUS_PENDING gracefully:
> 
>   - The IO_STATUS_BLOCK given to NtWriteFile *must* exist for the
>     entire time the operation takes after NtWriteFile returned
>     STATUS_PENDING.  An IO_STATUS_BLOCK fhandler member comes to mind,
>     maybe fhandler_base_overlapped::io_status can be reused.

No, wait.  There can be more than one outstanding aio operations on the
same descriptor.  Therefore the IO_STATUS_BLOCK must be connected to the
aiocb struct one way or the other, becasue only that struct is local to
the aio operation.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20171129/e039fade/attachment.sig>


More information about the Cygwin-patches mailing list