https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=bc95e1bef29b7b1c9be00f8cd342d303466ee350
commit bc95e1bef29b7b1c9be00f8cd342d303466ee350 Author: Takashi Yano <takashi.y...@nifty.ne.jp> Date: Tue Jul 1 02:49:32 2025 +0900 Cygwin: pipe: Add missing code restoring real_non_blocking_mode Fixes: 940dbeffa713 ("Cygwin: pipe: Fix unexpected blocking mode change by pipe_data_available()") Reported by: Andrew Ng <anng...@gmail.com> Signed-off-by: Takashi Yano <takashi.y...@nifty.ne.jp> Diff: --- winsup/cygwin/fhandler/pipe.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc index 1a8c39c5b..2312688e1 100644 --- a/winsup/cygwin/fhandler/pipe.cc +++ b/winsup/cygwin/fhandler/pipe.cc @@ -392,7 +392,10 @@ fhandler_pipe::raw_read (void *ptr, size_t& len) status = NtReadFile (get_handle (), NULL, NULL, NULL, &io, ptr, len1, NULL, NULL); if (real_non_blocking_mode) - set_pipe_non_blocking (false); + { + set_pipe_non_blocking (false); + real_non_blocking_mode = false; + } if (isclosed ()) /* A signal handler might have closed the fd. */ { set_errno (EBADF); @@ -702,7 +705,10 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) } if (real_non_blocking_mode) - ((fhandler_pipe *) this)->set_pipe_non_blocking (false); + { + ((fhandler_pipe *) this)->set_pipe_non_blocking (false); + real_non_blocking_mode = false; + } CloseHandle (evt); if (pipe_mtx) /* pipe_mtx is NULL in the fifo case */