mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
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…
x
Reference in New Issue
Block a user