https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=a776a0ce26abfdf5de9b94746818dfce176ab215
commit a776a0ce26abfdf5de9b94746818dfce176ab215 Author: Takashi Yano via Cygwin-patches <[email protected]> Date: Fri Jan 15 18:26:31 2021 +0900 Cygwin: pty: Set input_available_event only for cygwin pipe. - cat exits immediately in the following senario. 1) Execute env CYGWIN=disable_pcon script 2) Execute cmd.exe 3) Execute cat in cmd.exe. This is caused by setting input_available_event for the pipe for non-cygwin app. This patch fixes the issue. Diff: --- winsup/cygwin/fhandler_tty.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 29870c779..473c0c968 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -386,7 +386,8 @@ fhandler_pty_master::accept_input () } } - SetEvent (input_available_event); + if (write_to == get_output_handle ()) + SetEvent (input_available_event); ReleaseMutex (input_mutex); return ret; }
