take exit code before closing process handle

This commit is contained in:
Nikita Smith
2026-04-06 12:17:25 -07:00
parent 8cc8986197
commit 890f7afccc
2 changed files with 4 additions and 6 deletions
+4 -4
View File
@@ -1072,10 +1072,6 @@ os_process_join(OS_Handle handle, U64 endt_us, U64 *exit_code_out)
DWORD sleep_ms = os_w32_sleep_ms_from_endt_us(endt_us); DWORD sleep_ms = os_w32_sleep_ms_from_endt_us(endt_us);
DWORD result = WaitForSingleObject(process, sleep_ms); DWORD result = WaitForSingleObject(process, sleep_ms);
B32 process_joined = (result == WAIT_OBJECT_0); B32 process_joined = (result == WAIT_OBJECT_0);
if(process_joined)
{
CloseHandle(process);
}
if(process_joined && exit_code_out) if(process_joined && exit_code_out)
{ {
DWORD exit_code = 0; DWORD exit_code = 0;
@@ -1084,6 +1080,10 @@ os_process_join(OS_Handle handle, U64 endt_us, U64 *exit_code_out)
*exit_code_out = exit_code; *exit_code_out = exit_code;
} }
} }
if(process_joined)
{
CloseHandle(process);
}
return process_joined; return process_joined;
} }
-2
View File
@@ -209,8 +209,6 @@ t_invoke_(String8 exe_path, String8 cmdline, U64 timeout, Arena *output_arena, S
} else { } else {
os_process_kill(process_handle); os_process_kill(process_handle);
} }
os_process_detach(process_handle);
} }
scratch_end(scratch); scratch_end(scratch);