[newlib-cygwin] Cygwin: console: Correct the past fix for apps which open pty.

Takashi Yano tyan0@sourceware.org
Sun Feb 27 03:59:16 GMT 2022


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

commit d857df6f088dc8402ec45bb5a15af2aaca254d64
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date:   Sun Feb 27 12:33:08 2022 +0900

    Cygwin: console: Correct the past fix for apps which open pty.
    
    - The commit "Cygwin: console: Fix issues of apps which open pty."
      did not fix the second problem correctly. That commit looked to
      fix the issue, but the actual problem was that ctrl_c_handler()
      should be reregistered *AFTER* FreeConsole()/AttachConsole().
      This patch correct that.

Diff:
---
 winsup/cygwin/fhandler_termios.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc
index 568523390..767b28302 100644
--- a/winsup/cygwin/fhandler_termios.cc
+++ b/winsup/cygwin/fhandler_termios.cc
@@ -344,10 +344,10 @@ fhandler_termios::process_sigs (char c, tty* ttyp, fhandler_termios *fh)
 	      (myself->dwProcessId, false);
 	  if (resume_pid && fh && !fh->is_console ())
 	    {
-	      if (::cygheap->ctty && ::cygheap->ctty->is_console ())
-		init_console_handler (false);
 	      FreeConsole ();
 	      AttachConsole (p->dwProcessId);
+	      if (::cygheap->ctty && ::cygheap->ctty->is_console ())
+		init_console_handler (true);
 	    }
 	  if (fh && p == myself && being_debugged ())
 	    { /* Avoid deadlock in gdb on console. */


More information about the Cygwin-cvs mailing list