From aea8a6562dbef9e9f9b8569a50a170b1f02bcca1 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Fri, 15 Jan 2021 18:05:39 +0800 Subject: [PATCH] fc_atomic.h add FC_ATOMIC_GET, FC_ATOMIC_INC etc. --- src/fc_atomic.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/fc_atomic.h b/src/fc_atomic.h index 08e8862..eac8522 100644 --- a/src/fc_atomic.h +++ b/src/fc_atomic.h @@ -20,6 +20,14 @@ extern "C" { #endif +#define FC_ATOMIC_GET(var) __sync_add_and_fetch(&var, 0) + +#define FC_ATOMIC_INC(var) __sync_add_and_fetch(&var, 1) +#define FC_ATOMIC_DEC(var) __sync_sub_and_fetch(&var, 1) + +#define FC_ATOMIC_INC_EX(var, n) __sync_add_and_fetch(&var, n) +#define FC_ATOMIC_DEC_EX(var, n) __sync_sub_and_fetch(&var, n) + #define FC_ATOMIC_CAS(var, old_value, new_value) \ do { \ if (__sync_bool_compare_and_swap(&var, old_value, new_value)) { \ -- GitLab