mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 21:38:40 +00:00
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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user