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

Corinna Vinschen corinna@sourceware.org
Mon Jan 18 15:26:40 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=a776a0ce26abfdf5de9b94746818dfce176ab215

commit a776a0ce26abfdf5de9b94746818dfce176ab215
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
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;
 }


More information about the Cygwin-cvs mailing list