aboutsummaryrefslogtreecommitdiffstats
path: root/common/atomic.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2014-05-14 02:47:07 -0700
committerChris Robinson <[email protected]>2014-05-14 02:47:07 -0700
commit1d2504d12e996a4c1e8fe9785901db9a9e3b4d7c (patch)
tree51895ba97192cee1fccab44a838e4fa43d81a984 /common/atomic.c
parent4454ae25c753388c529b937ae2ce0f47f06d16c4 (diff)
Make RefCount a non-integer type
It should only be accessed through the appropriate functions to ensure proper atomicity.
Diffstat (limited to 'common/atomic.c')
-rw-r--r--common/atomic.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/common/atomic.c b/common/atomic.c
index 02bbf066..95b8f835 100644
--- a/common/atomic.c
+++ b/common/atomic.c
@@ -4,8 +4,10 @@
#include "atomic.h"
-extern inline RefCount IncrementRef(volatile RefCount *ptr);
-extern inline RefCount DecrementRef(volatile RefCount *ptr);
+extern inline void InitRef(volatile RefCount *ptr, uint value);
+extern inline uint ReadRef(volatile RefCount *ptr);
+extern inline uint IncrementRef(volatile RefCount *ptr);
+extern inline uint DecrementRef(volatile RefCount *ptr);
extern inline int ExchangeInt(volatile int *ptr, int newval);
extern inline void *ExchangePtr(XchgPtr *ptr, void *newval);
extern inline int CompExchangeInt(volatile int *ptr, int oldval, int newval);