src/server/util/atomic.h

changeset 109
8a0a7754f123
parent 69
4a10bc0ee80d
child 161
aadda87bad1b
--- a/src/server/util/atomic.h	Sat Oct 31 18:02:07 2015 +0100
+++ b/src/server/util/atomic.h	Sat Oct 31 20:10:21 2015 +0100
@@ -46,7 +46,11 @@
 #define ws_atomic_inc32(intptr) OSAtomicIncrement32((volatile int32_t *)intptr)
 #define ws_atomic_dec32(intptr) OSAtomicDecrement32((volatile int32_t *)intptr)
 
-    
+#elif defined(BSD)   
+#define ws_atomic_inc32(intptr) __sync_fetch_and_add(intptr, 1)
+#define ws_atomic_dec32(intptr) __sync_fetch_and_sub(intptr, 1)
+#define ws_atomic_add32(intptr, val) __sync_fetch_and_add(intptr, val)
+#define ws_atomic_sub32(intptr, val) __sync_fetch_and_sub(intptr, va
 #else
 // use atomic.h
 #include <atomic.h>

mercurial