[newlib-cygwin] Cygwin: pty: Fix a bug in free_attached_console().

Corinna Vinschen corinna@sourceware.org
Thu May 28 07:26:54 GMT 2020


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

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


More information about the Cygwin-cvs mailing list