From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 1C5BC386F46B; Thu, 28 May 2020 07:26:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C5BC386F46B Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: pty: Fix a bug in free_attached_console(). X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano via Cygwin-patches X-Git-Refname: refs/heads/master X-Git-Oldrev: 50d7dcaa0bd535a2a70e076a0ca0d15c1c1e8e01 X-Git-Newrev: 25987b2c2a49013ce6d8c9d2ab29a92eb05f9482 Message-Id: <20200528072654.1C5BC386F46B@sourceware.org> Date: Thu, 28 May 2020 07:26:54 +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: Thu, 28 May 2020 07:26:54 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=25987b2c2a49013ce6d8c9d2ab29a92eb05f9482 commit 25987b2c2a49013ce6d8c9d2ab29a92eb05f9482 Author: Takashi Yano via Cygwin-patches Date: Thu May 28 12:43:05 2020 +0900 Cygwin: pty: Fix a bug in free_attached_console(). - After commit 7659ff0f5afd751f42485f2684c799c5f37b0fb9, nohup does not work as expected. This patch fixes the issue. Addresses: https://cygwin.com/pipermail/cygwin-developers/2020-May/011885.html Diff: --- winsup/cygwin/fhandler_tty.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index df08dd20a..f29a2c214 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -188,7 +188,10 @@ set_ishybrid_and_switch_to_pcon (HANDLE h) inline void fhandler_pty_slave::free_attached_console () { - if (freeconsole_on_close && get_minor () == pcon_attached_to) + bool attached = get_ttyp () ? + fhandler_console::get_console_process_id (get_helper_process_id (), true) + : (get_minor () == pcon_attached_to); + if (freeconsole_on_close && attached) { FreeConsole (); pcon_attached_to = -1;