From 3ffaa9377e33221d8a6272d0232e8830ba4312ca Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Thu, 27 May 1999 03:56:20 +0000 Subject: [PATCH] make win32_spawnvp() inherit standard handles even when they may be redirected p4raw-id: //depot/perl@3487 --- win32/win32.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/win32/win32.c b/win32/win32.c index f4c7006..9361191 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -2364,7 +2364,23 @@ win32_spawnvp(int mode, const char *cmdname, const char *const *argv) } memset(&StartupInfo,0,sizeof(StartupInfo)); StartupInfo.cb = sizeof(StartupInfo); - StartupInfo.wShowWindow = SW_SHOWDEFAULT; + StartupInfo.hStdInput = GetStdHandle(STD_INPUT_HANDLE); + StartupInfo.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE); + StartupInfo.hStdError = GetStdHandle(STD_ERROR_HANDLE); + if (StartupInfo.hStdInput != INVALID_HANDLE_VALUE && + StartupInfo.hStdOutput != INVALID_HANDLE_VALUE && + StartupInfo.hStdError != INVALID_HANDLE_VALUE) + { + StartupInfo.dwFlags |= STARTF_USESTDHANDLES; + } + else { + create |= CREATE_NEW_CONSOLE; + } + +#ifndef DEBUGGING + StartupInfo.dwFlags |= STARTF_USESHOWWINDOW; + StartupInfo.wShowWindow = SW_HIDE; +#endif RETRY: if (!CreateProcess(cmdname, /* search PATH to find executable */ -- 2.7.4