This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] Fix return value on aio_read/write success


On Aug  6 22:54, Mark Geisert wrote:
> Internally track resultant byte counts as ssize_t, but return 0 as int
> for success indication, per POSIX.
> ---
>  winsup/cygwin/aio.cc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/winsup/cygwin/aio.cc b/winsup/cygwin/aio.cc
> index fe63dec04..7d5d98299 100644
> --- a/winsup/cygwin/aio.cc
> +++ b/winsup/cygwin/aio.cc
> @@ -265,7 +265,7 @@ aiowaiter (void *unused)
>      }
>  }
>  
> -static int
> +static ssize_t
>  asyncread (struct aiocb *aio)
>  { /* Try to initiate an asynchronous read, either from app or worker thread */
>    ssize_t       res = 0;
> @@ -296,7 +296,7 @@ asyncread (struct aiocb *aio)
>    return res;
>  }
>  
> -static int
> +static ssize_t
>  asyncwrite (struct aiocb *aio)
>  { /* Try to initiate an asynchronous write, either from app or worker thread */
>    ssize_t       res = 0;
> @@ -712,7 +712,7 @@ aio_read (struct aiocb *aio)
>        ; /* I think this is not possible */
>      }
>  
> -  return res;
> +  return res < 0 ? (int) res : 0; /* return 0 on success */
>  }
>  
>  ssize_t
> @@ -902,7 +902,7 @@ aio_write (struct aiocb *aio)
>        ; /* I think this is not possible */
>      }
>  
> -  return res;
> +  return res < 0 ? (int) res : 0; /* return 0 on success */
>  }
>  
>  int
> -- 
> 2.17.0

Pushed.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]