cmd: Even if FindExecutable fails wait for process to finish in non-interactive mode.

This commit is contained in:
Piotr Caban 2013-01-16 14:40:31 +01:00 committed by Alexandre Julliard
parent b0bf061235
commit e727e44dfa
1 changed files with 7 additions and 10 deletions

View File

@ -1225,16 +1225,13 @@ void WCMD_run_program (WCHAR *command, BOOL called)
if (!status)
break;
if (!assumeInternal && !console) errorlevel = 0;
else
{
/* Always wait when non-interactive (cmd /c or in batch program),
or for console applications */
if (assumeInternal || !interactive || !HIWORD(console))
WaitForSingleObject (pe.hProcess, INFINITE);
GetExitCodeProcess (pe.hProcess, &errorlevel);
if (errorlevel == STILL_ACTIVE) errorlevel = 0;
}
/* Always wait when non-interactive (cmd /c or in batch program),
or for console applications */
if (assumeInternal || !interactive || (console && !HIWORD(console)))
WaitForSingleObject (pe.hProcess, INFINITE);
GetExitCodeProcess (pe.hProcess, &errorlevel);
if (errorlevel == STILL_ACTIVE) errorlevel = 0;
CloseHandle(pe.hProcess);
CloseHandle(pe.hThread);
return;