diff --git a/src/artifact_cache/artifact_cache.h b/src/artifact_cache/artifact_cache.h index ff61e9e0..3acc5182 100644 --- a/src/artifact_cache/artifact_cache.h +++ b/src/artifact_cache/artifact_cache.h @@ -179,6 +179,9 @@ internal AC_Artifact ac_artifact_from_key_(Access *access, String8 key, AC_Artif //////////////////////////////// //~ rjf: Asynchronous Tick +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif internal void ac_async_tick(void); //////////////////////////////// diff --git a/src/base/base_entry_point.c b/src/base/base_entry_point.c index a08a50b5..ddf34406 100644 --- a/src/base/base_entry_point.c +++ b/src/base/base_entry_point.c @@ -101,8 +101,8 @@ main_thread_base_entry_point(int arguments_count, char **arguments) rd_init(&cmdline); #endif -#if !NO_ASYNC //- rjf: launch async threads +#if NEED_ASYNC Thread *async_threads = 0; U64 lane_broadcast_val = 0; { @@ -137,9 +137,10 @@ main_thread_base_entry_point(int arguments_count, char **arguments) //- rjf: call into entry point entry_point(&cmdline); -#if !NO_ASYNC //- rjf: join async threads +#if NEED_ASYNC ins_atomic_u32_inc_eval(&global_async_exit); + ins_atomic_u32_inc_eval(&async_loop_again); cond_var_broadcast(async_tick_start_cond_var); for EachIndex(idx, async_threads_count) { diff --git a/src/com_shim/com_shim_main.c b/src/com_shim/com_shim_main.c index 6f9c5aba..5003eb3a 100644 --- a/src/com_shim/com_shim_main.c +++ b/src/com_shim/com_shim_main.c @@ -1,7 +1,6 @@ // Copyright (c) Epic Games Tools // Licensed under the MIT license (https://opensource.org/license/mit/) -#define NO_ASYNC 1 #define BUILD_CONSOLE_INTERFACE 1 #define BUILD_TITLE "The RAD Debugger (Command Line Launcher)" #include "base/base_inc.h" diff --git a/src/content/content.h b/src/content/content.h index 90f44cda..a702a5bb 100644 --- a/src/content/content.h +++ b/src/content/content.h @@ -238,6 +238,9 @@ internal String8 c_data_from_hash(Access *access, U128 hash); //////////////////////////////// //~ rjf: Asynchronous Tick +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif internal void c_async_tick(void); #endif // CONTENT_H diff --git a/src/dbg_info/dbg_info.h b/src/dbg_info/dbg_info.h index c933c200..56c88acc 100644 --- a/src/dbg_info/dbg_info.h +++ b/src/dbg_info/dbg_info.h @@ -352,6 +352,9 @@ internal DI_EventList di_get_events(Arena *arena); //////////////////////////////// //~ rjf: Asynchronous Tick +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif internal void di_async_tick(void); //////////////////////////////// diff --git a/src/file_stream/file_stream.h b/src/file_stream/file_stream.h index 03ed9777..56e09f66 100644 --- a/src/file_stream/file_stream.h +++ b/src/file_stream/file_stream.h @@ -66,6 +66,9 @@ internal U128 fs_hash_from_path_range(String8 path, Rng1U64 range, U64 endt_us); //////////////////////////////// //~ rjf: Asynchronous Tick +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif internal void fs_async_tick(void); #endif // FILE_STREAM_H diff --git a/src/http/http.h b/src/http/http.h index c7d570b8..dba2f37e 100644 --- a/src/http/http.h +++ b/src/http/http.h @@ -161,6 +161,9 @@ internal HTTP_StatusKind http_status_kind_from_code(HTTP_StatusCode code); //////////////////////////////////////////////////////////////// //~ rjf: @per_os_impl Top-Level Layer Calls +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif internal void http_init(void); internal void http_async_tick(void); diff --git a/src/symbol_server/symbol_server.h b/src/symbol_server/symbol_server.h index f41b9cc2..2d9951bb 100644 --- a/src/symbol_server/symbol_server.h +++ b/src/symbol_server/symbol_server.h @@ -11,6 +11,10 @@ typedef enum SMSV_Status } SMSV_Status; +#if !defined(NEED_ASYNC) +# define NEED_ASYNC 1 +#endif + internal void smsv_init(void); internal void smsv_async_tick(void); internal String8 smsv_cache_path(void); diff --git a/src/torture/torture_main.c b/src/torture/torture_main.c index 75cae873..4e03d65b 100644 --- a/src/torture/torture_main.c +++ b/src/torture/torture_main.c @@ -16,7 +16,6 @@ #define R_INIT_MANUAL 1 #define FNT_INIT_MANUAL 1 #define RD_INIT_MANUAL 1 -#define NO_ASYNC 1 ////////////////////////////////