checkpoint in new debug info layer: 16-byte key (set up to use GUIDs or otherwise unique keys at the base), better control over oversubscribing cores for conversion, better prioritization of conversions

This commit is contained in:
Ryan Fleury
2025-09-29 14:12:33 -07:00
parent 8bf0a3de5b
commit 46527c8465
10 changed files with 753 additions and 24 deletions
+3 -3
View File
@@ -774,13 +774,13 @@ os_process_launch(OS_ProcessLaunchParams *params)
}
internal B32
os_process_join(OS_Handle handle, U64 endt_us)
os_process_join(OS_Handle handle, U64 endt_us, U64 *exit_code_out)
{
NotImplemented;
}
internal B32
os_process_join_exit_code(OS_Handle handle, U64 endt_us, int *exit_code_out)
internal U64
os_process_array_join(OS_HandleArray processes, U64 endt_us, U64 *exit_code_out)
{
NotImplemented;
}
+1 -2
View File
@@ -244,8 +244,7 @@ internal void os_sleep_milliseconds(U32 msec);
//~ rjf: @os_hooks Child Processes (Implemented Per-OS)
internal OS_Handle os_process_launch(OS_ProcessLaunchParams *params);
internal B32 os_process_join(OS_Handle handle, U64 endt_us);
internal B32 os_process_join_exit_code(OS_Handle handle, U64 endt_us, int *exit_code_out);
internal B32 os_process_join(OS_Handle handle, U64 endt_us, U64 *exit_code_out);
internal void os_process_detach(OS_Handle handle);
internal B32 os_process_kill(OS_Handle handle);
+6 -13
View File
@@ -1061,28 +1061,21 @@ os_process_launch(OS_ProcessLaunchParams *params)
}
internal B32
os_process_join(OS_Handle handle, U64 endt_us)
os_process_join(OS_Handle handle, U64 endt_us, U64 *exit_code_out)
{
HANDLE process = (HANDLE)(handle.u64[0]);
DWORD sleep_ms = os_w32_sleep_ms_from_endt_us(endt_us);
DWORD result = WaitForSingleObject(process, sleep_ms);
return (result == WAIT_OBJECT_0);
}
internal B32
os_process_join_exit_code(OS_Handle handle, U64 endt_us, int *exit_code_out)
{
B32 result = 0;
if(os_process_join(handle, endt_us))
B32 process_joined = (result == WAIT_OBJECT_0);
if(process_joined && exit_code_out)
{
DWORD exit_code;
if(GetExitCodeProcess((HANDLE)handle.u64[0], &exit_code))
DWORD exit_code = 0;
if(GetExitCodeProcess(process, &exit_code))
{
*exit_code_out = exit_code;
result = 1;
}
}
return result;
return process_joined;
}
internal B32