From c2c33e4d673f630a4f85ef8339e3456384e94850 Mon Sep 17 00:00:00 2001 From: Takashi Yano via Cygwin-patches Date: Mon, 14 Dec 2020 17:25:33 +0900 Subject: [PATCH] Cygwin: pty: Skip term_has_pcon_cap() if pseudo console is disabled. - This patch skips unnecessary term_has_pcon_cap() call if pseudo console is disabled. --- winsup/cygwin/fhandler_tty.cc | 2 -- winsup/cygwin/spawn.cc | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index a6dc8e93b..845e51184 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -2459,8 +2459,6 @@ fhandler_pty_slave::setup_pseudoconsole (STARTUPINFOEXW *si, bool nopcon) if (get_ttyp ()->pcon_pid && get_ttyp ()->pcon_pid != myself->pid && !!pinfo (get_ttyp ()->pcon_pid)) return false; - if (disable_pcon) - return false; /* If the legacy console mode is enabled, pseudo console seems not to work as expected. To determine console mode, registry key ForceV2 in HKEY_CURRENT_USER\Console is checked. */ diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 83b216f52..5057af932 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -656,7 +656,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, if (!iscygwin () && ptys_primary && is_console_app (runpath)) { bool nopcon = mode != _P_OVERLAY && mode != _P_WAIT; - if (!ptys_primary->term_has_pcon_cap (envblock)) + if (disable_pcon || !ptys_primary->term_has_pcon_cap (envblock)) nopcon = true; if (ptys_primary->setup_pseudoconsole (&si_pcon, nopcon)) {