raddbgi_from_pdb: multithread per-unit symbol conversion

This commit is contained in:
Ryan Fleury
2024-02-19 14:42:13 -08:00
parent 5cd5503db1
commit 86ee3cb4b6
4 changed files with 862 additions and 701 deletions
+1
View File
@@ -306,6 +306,7 @@ internal void os_process_release_handle(OS_Handle handle);
//~ rjf: @os_hooks Threads (Implemented Per-OS)
internal OS_Handle os_launch_thread(OS_ThreadFunctionType *func, void *ptr, void *params);
internal B32 os_thread_wait(OS_Handle handle, U64 endt_us);
internal void os_release_thread_handle(OS_Handle thread);
////////////////////////////////
+9
View File
@@ -1233,6 +1233,15 @@ os_launch_thread(OS_ThreadFunctionType *func, void *ptr, void *params){
return(result);
}
internal B32
os_thread_wait(OS_Handle handle, U64 endt_us)
{
DWORD sleep_ms = w32_sleep_ms_from_endt_us(endt_us);
W32_Entity *entity = (W32_Entity *)PtrFromInt(handle.u64[0]);
DWORD wait_result = WaitForSingleObject(entity->thread.handle, sleep_ms);
return (wait_result == WAIT_OBJECT_0);
}
internal void
os_release_thread_handle(OS_Handle thread){
W32_Entity *entity = (W32_Entity*)PtrFromInt(thread.u64[0]);