patch 9.2.0114: MS-Windows: terminal output may go to wrong terminal

Problem:  MS-Windows: terminal output may go to wrong terminal with
          ConPTY
Solution: Explicitly disable inheriting the terminal handles
          (gcrtnst).

closes: #19589

Signed-off-by: gcrtnst <52910071+gcrtnst@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
gcrtnst
2026-03-07 10:01:49 +00:00
committed by Christian Brabandt
parent bd77d327d3
commit 78ae2ff094
2 changed files with 11 additions and 0 deletions
+9
View File
@@ -7134,6 +7134,15 @@ conpty_term_and_job_init(
term->tl_siex.StartupInfo.cb = sizeof(term->tl_siex);
// Explicitly invalidate std handles to prevent inheritance of
// the debugger's stdout (e.g., in Visual Studio debugging sessions),
// which could cause job output to go to the debugger instead of
// the intended ConPTY, even with bInheritHandles set to FALSE in CreateProcess.
term->tl_siex.StartupInfo.dwFlags = STARTF_USESTDHANDLES;
term->tl_siex.StartupInfo.hStdInput = INVALID_HANDLE_VALUE;
term->tl_siex.StartupInfo.hStdOutput = INVALID_HANDLE_VALUE;
term->tl_siex.StartupInfo.hStdError = INVALID_HANDLE_VALUE;
// Set up pipe inheritance safely: Vista or later.
pInitializeProcThreadAttributeList(NULL, 1, 0, &breq);
term->tl_siex.lpAttributeList = alloc(breq);
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
114,
/**/
113,
/**/