From 60f710b656415a07910902f695a731b1ebc905b1 Mon Sep 17 00:00:00 2001 From: fengweihao Date: Fri, 14 Jun 2019 18:25:09 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=8E=9F=E5=AD=90=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rt/rt_string.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rt/rt_string.h b/src/rt/rt_string.h index f37b368..818abff 100644 --- a/src/rt/rt_string.h +++ b/src/rt/rt_string.h @@ -57,9 +57,14 @@ typedef struct{ #define atomic_add(x, y) (__sync_add_and_fetch((&(((atomic_t *)x)->counter)), (y))) #define atomic64_add(x, y) (__sync_add_and_fetch((&(((atomic64_t *)x)->counter)), (y))) +#define atomic64_sub(x, y) (__sync_sub_and_fetch((&(((atomic64_t *)x)->counter)), (y))) -static inline void atomic_set(atomic_t *v, int32_t val) +#define atomic64_inc(x) (atomic64_add((x), 1)) +#define atomic64_dec(x) (atomic64_sub((x), 1)) + +static inline void atomic64_set(atomic64_t *v, int64_t val) { v->counter = val; } + #endif