mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-27 05:51:48 -07:00
switch rdi_from_pdb to new async layer, off of old task system
This commit is contained in:
+18
-4
@@ -1,6 +1,16 @@
|
||||
// Copyright (c) 2024 Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Basic Type Functions
|
||||
|
||||
internal ASYNC_Task
|
||||
async_task_zero(void)
|
||||
{
|
||||
ASYNC_Task task = {0};
|
||||
return task;
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Top-Level Layer Initialization
|
||||
|
||||
@@ -103,10 +113,14 @@ async_task_launch_(ASYNC_WorkFunctionType *work_function, ASYNC_WorkParams *para
|
||||
internal void *
|
||||
async_task_join(ASYNC_Task task)
|
||||
{
|
||||
os_semaphore_take(task.semaphore, max_U64);
|
||||
os_semaphore_release(task.semaphore);
|
||||
MemoryZeroStruct(&task.semaphore);
|
||||
void *result = (void *)ins_atomic_u64_eval(&task.output);
|
||||
void *result = 0;
|
||||
if(!os_handle_match(task.semaphore, os_handle_zero()))
|
||||
{
|
||||
os_semaphore_take(task.semaphore, max_U64);
|
||||
os_semaphore_release(task.semaphore);
|
||||
MemoryZeroStruct(&task.semaphore);
|
||||
result = (void *)ins_atomic_u64_eval(&task.output);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user