From 109d7ae6a34d12125e350ce00cde658b75174e5f Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sun, 7 Mar 2021 01:04:13 -0800 Subject: [PATCH] Add the missing protected.*int.*set() macros for atomic (*nix) builds --- src/xpdev/threadwrap.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/xpdev/threadwrap.h b/src/xpdev/threadwrap.h index 19d14575e4..9bb64ba912 100644 --- a/src/xpdev/threadwrap.h +++ b/src/xpdev/threadwrap.h @@ -175,6 +175,11 @@ typedef std::atomic<uint64_t> protected_uint64_t; #define protected_int64_init(pval, val) std::atomic_store<int64_t>(pval, val) #define protected_uint64_init(pval, val) std::atomic_store<uint64_t>(pval, val) +#define protected_int32_set(pval, val) std::atomic_store<int32_t>(pval, val) +#define protected_uint32_set(pval, val) std::atomic_store<uint32_t>(pval, val) +#define protected_int64_set(pval, val) std::atomic_store<int64_t>(pval, val) +#define protected_uint64_(pval, val) std::atomic_store<uint64_t>(pval, val) + #define protected_int32_adjust(pval, adj) std::atomic_fetch_add<int32_t>(pval, adj) #define protected_uint32_adjust(pval, adj) std::atomic_fetch_add<uint32_t>(pval, adj) #define protected_int64_adjust(pval, adj) std::atomic_fetch_add<int64_t>(pval, adj) @@ -200,6 +205,11 @@ typedef _Atomic(uint64_t) protected_uint64_t; #define protected_int64_init(pval, val) atomic_init(pval, val) #define protected_uint64_init(pval, val) atomic_init(pval, val) +#define protected_int32_set(pval, val) atomic_init(pval, val) +#define protected_uint32_set(pval, val) atomic_init(pval, val) +#define protected_int64_set(pval, val) atomic_init(pval, val) +#define protected_uint64_set(pval, val) atomic_init(pval, val) + #define protected_int32_adjust(pval, adj) atomic_fetch_add(pval, adj) #define protected_uint32_adjust(pval, adj) atomic_fetch_add(pval, adj) #define protected_int64_adjust(pval, adj) atomic_fetch_add(pval, adj) -- GitLab