[newlib-cygwin] Cygwin: pipe: Fix raw_write() for non-cygwin pipe with size zero.
Takashi Yano
tyan0@sourceware.org
Thu Nov 11 09:18:47 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=576ace1f2f977342b837d2da3a23c5c9b0f61af1
commit 576ace1f2f977342b837d2da3a23c5c9b0f61af1
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date: Thu Nov 11 12:30:24 2021 +0900
Cygwin: pipe: Fix raw_write() for non-cygwin pipe with size zero.
- 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
Diff:
---
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;
More information about the Cygwin-cvs
mailing list