Fixed exit code retrieval of spawned processes on Windows

Use GetExitCodeProcess() on Windows to retrieve the exit code of a process in
OS:excute()
This commit is contained in:
Marcus Brummer 2020-11-16 18:26:57 +01:00
parent e5dfb9b25e
commit f0f4220b05
1 changed files with 3 additions and 1 deletions

View File

@ -466,8 +466,10 @@ Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments,
ERR_FAIL_COND_V(ret == 0, ERR_CANT_FORK); ERR_FAIL_COND_V(ret == 0, ERR_CANT_FORK);
if (p_blocking) { if (p_blocking) {
DWORD ret2 = WaitForSingleObject(pi.pi.hProcess, INFINITE); WaitForSingleObject(pi.pi.hProcess, INFINITE);
if (r_exitcode) { if (r_exitcode) {
DWORD ret2;
GetExitCodeProcess(pi.pi.hProcess, &ret2);
*r_exitcode = ret2; *r_exitcode = ret2;
} }