Cygwin: console: Fix clean up conditions in close()
Previously, the condition to clean up input/output mode was based
on wrong premise. This patch fixes that.
Fixes: 8ee8b0c974
("Cygwin: console: Use GetCurrentProcessId() instead of myself->dwProcessId")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
This commit is contained in:
parent
90031ffe91
commit
30d2669478
|
@ -1976,7 +1976,8 @@ fhandler_console::close ()
|
|||
|
||||
acquire_output_mutex (mutex_timeout);
|
||||
|
||||
if (shared_console_info[unit])
|
||||
if (shared_console_info[unit] && !myself->cygstarted
|
||||
&& (dev_t) myself->ctty == get_device ())
|
||||
{
|
||||
/* Restore console mode if this is the last closure. */
|
||||
OBJECT_BASIC_INFORMATION obi;
|
||||
|
@ -1984,8 +1985,7 @@ fhandler_console::close ()
|
|||
status = NtQueryObject (get_handle (), ObjectBasicInformation,
|
||||
&obi, sizeof obi, NULL);
|
||||
if (NT_SUCCESS (status)
|
||||
&& obi.HandleCount <= (myself->cygstarted ? 2 : 3)
|
||||
&& (dev_t) myself->ctty == get_device ())
|
||||
&& obi.HandleCount == (con.owner == GetCurrentProcessId () ? 2 : 3))
|
||||
{
|
||||
/* Cleaning-up console mode for cygwin apps. */
|
||||
set_output_mode (tty::restore, &get_ttyp ()->ti, &handle_set);
|
||||
|
|
Loading…
Reference in New Issue