From 4435bb091b9fc8e3cb13a769f977a475e32af3e0 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Wed, 2 Oct 2002 17:14:17 -0400 Subject: [PATCH] Cleanup --- Source/cmSystemTools.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index cc24ddb06..0cddcc16d 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1351,7 +1351,6 @@ bool WindowsRunCommand(const char* command, const char* dir, } else sa.lpSecurityDescriptor = NULL; - sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.bInheritHandle = true; @@ -1380,10 +1379,11 @@ bool WindowsRunCommand(const char* command, const char* dir, * members. STARTF_USESHOWWINDOW validates the wShowWindow * member. */ + si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW; - si.wShowWindow = SW_HIDE; si.hStdOutput = newstdout; si.hStdError = newstdout; + si.wShowWindow = SW_HIDE; //set the new handles for the child process si.hStdInput = newstdin; char* commandAndArgs = strcpy(new char[strlen(command)+1], command); @@ -1456,6 +1456,8 @@ bool WindowsRunCommand(const char* command, const char* dir, if (exit != STILL_ACTIVE) break; } + WaitForSingleObject(pi.hProcess, INFINITE); + GetExitCodeProcess(pi.hProcess,&exit); CloseHandle(pi.hThread); CloseHandle(pi.hProcess); CloseHandle(newstdin);