Cygwin: pty: Fix state mismatch caused in mintty.
- PTY has a bug reported in: https://cygwin.com/ml/cygwin/2020-02/msg00067.html. This is the result of state mismatch between real pseudo console attaching state and state variable. This patch fixes the issue.
This commit is contained in:
parent
c491ad0fb8
commit
15e1a83eae
|
@ -65,6 +65,12 @@ static bool isHybrid;
|
|||
static bool do_not_reset_switch_to_pcon;
|
||||
static bool freeconsole_on_close = true;
|
||||
|
||||
void
|
||||
clear_pcon_attached_to (void)
|
||||
{
|
||||
pcon_attached_to = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
set_switch_to_pcon (void)
|
||||
{
|
||||
|
@ -727,7 +733,10 @@ fhandler_pty_slave::~fhandler_pty_slave ()
|
|||
{
|
||||
init_console_handler (false);
|
||||
if (freeconsole_on_close)
|
||||
FreeConsole ();
|
||||
{
|
||||
FreeConsole ();
|
||||
pcon_attached_to = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2988,7 +2997,10 @@ fhandler_pty_slave::fixup_after_exec ()
|
|||
{
|
||||
init_console_handler (false);
|
||||
if (freeconsole_on_close)
|
||||
FreeConsole ();
|
||||
{
|
||||
FreeConsole ();
|
||||
pcon_attached_to = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -161,6 +161,8 @@ frok::child (volatile char * volatile here)
|
|||
}
|
||||
}
|
||||
}
|
||||
extern void clear_pcon_attached_to (void); /* fhandler_tty.cc */
|
||||
clear_pcon_attached_to ();
|
||||
|
||||
HANDLE& hParent = ch.parent;
|
||||
|
||||
|
|
Loading…
Reference in New Issue