From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7868) id 89DA33858D28; Sun, 27 Feb 2022 03:58:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 89DA33858D28 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Takashi Yano To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/cygwin-3_3-branch] Cygwin: console: Correct the past fix for apps which open pty. X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano X-Git-Refname: refs/heads/cygwin-3_3-branch X-Git-Oldrev: f6ef457ad212690f16e4ff9bc378944500463d4c X-Git-Newrev: fc2dacb94ab460cfa90492ba9e1410b13d9c6bfc Message-Id: <20220227035853.89DA33858D28@sourceware.org> Date: Sun, 27 Feb 2022 03:58:53 +0000 (GMT) X-BeenThere: cygwin-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Feb 2022 03:58:53 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dfc2dacb94ab= 460cfa90492ba9e1410b13d9c6bfc commit fc2dacb94ab460cfa90492ba9e1410b13d9c6bfc Author: Takashi Yano Date: Sun Feb 27 12:33:08 2022 +0900 Cygwin: console: Correct the past fix for apps which open pty. =20 - 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_ter= mios.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, fh= andler_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 =3D=3D myself && being_debugged ()) { /* Avoid deadlock in gdb on console. */