From 0d9bfcb721cd8af12a021b2f94603e656c7b9d2d Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 9 Mar 2021 10:54:49 +0800 Subject: [PATCH] Atomic variable should be volatile, #1356 #1317 --- skynet-src/atomic.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/skynet-src/atomic.h b/skynet-src/atomic.h index a7b60534..5acc32df 100644 --- a/skynet-src/atomic.h +++ b/skynet-src/atomic.h @@ -3,10 +3,12 @@ #ifdef __STDC_NO_ATOMICS__ -#define ATOM_INT int -#define ATOM_POINTER void * -#define ATOM_SIZET size_t -#define ATOM_ULONG unsigned long +#include + +#define ATOM_INT volatile int +#define ATOM_POINTER volatile uintptr_t +#define ATOM_SIZET volatile size_t +#define ATOM_ULONG volatile unsigned long #define ATOM_INIT(ptr, v) (*(ptr) = v) #define ATOM_LOAD(ptr) (*(ptr)) #define ATOM_STORE(ptr, v) (*(ptr) = v)