aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/atomic.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/common/atomic.c b/common/atomic.c
new file mode 100644
index 00000000..02bbf066
--- /dev/null
+++ b/common/atomic.c
@@ -0,0 +1,12 @@
+
+#include "config.h"
+
+#include "atomic.h"
+
+
+extern inline RefCount IncrementRef(volatile RefCount *ptr);
+extern inline RefCount 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);
+extern inline void *CompExchangePtr(XchgPtr *ptr, void *oldval, void *newval);