[PATCH] Cygwin: pty: Set input_available_event only for cygwin pipe.

Takashi Yano takashi.yano@nifty.ne.jp
Fri Jan 15 09:26:31 GMT 2021


- 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.
---
 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 e4993bf31..0b9901974 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -394,7 +394,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;
 }
-- 
2.30.0



More information about the Cygwin-patches mailing list