[PATCH] Cygwin: pipe: Fix raw_write() for non-cygwin pipe with size zero.

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Nov 11 09:10:37 GMT 2021


On Nov 11 17:19, Takashi Yano wrote:
> - Currently, raw_write() fails to handle size zero pipe which may
>   be created by non-cygwin apps (e.g. Windows native ninja). This
>   patch fixes the issue.
> 
> Addresses:
>   https://cygwin.com/pipermail/cygwin/2021-November/249844.html
> ---
>  winsup/cygwin/fhandler_pipe.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc
> index 13731437e..9392a28c1 100644
> --- a/winsup/cygwin/fhandler_pipe.cc
> +++ b/winsup/cygwin/fhandler_pipe.cc
> @@ -449,7 +449,7 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len)
>        return -1;
>      }
>  
> -  if (len <= pipe_buf_size)
> +  if (len <= pipe_buf_size || pipe_buf_size == 0)
>      chunk = len;
>    else if (is_nonblocking ())
>      chunk = len = pipe_buf_size;
> -- 
> 2.33.0

ACK.  Please push.


Thanks,
Corinna


More information about the Cygwin-patches mailing list