]> git.saurik.com Git - apple/xnu.git/blobdiff - libkern/libclosure/runtime.cpp
xnu-6153.141.1.tar.gz
[apple/xnu.git] / libkern / libclosure / runtime.cpp
index 95bf5a48c50eea243e7541f7dfb781db014206fc..4ae5cd977a7e04fee423f329f0d6feb7c0e6ccd7 100644 (file)
@@ -26,6 +26,7 @@
 
 #endif /* KERNEL */
 
+#include <machine/atomic.h>
 #include <string.h>
 #include <stdint.h>
 #ifndef os_assumes
@@ -54,8 +55,8 @@ OSAtomicCompareAndSwapInt(int oldi, int newi, int volatile *dst)
        return original == oldi;
 }
 #else
-#define OSAtomicCompareAndSwapLong(_Old, _New, _Ptr) __sync_bool_compare_and_swap(_Ptr, _Old, _New)
-#define OSAtomicCompareAndSwapInt(_Old, _New, _Ptr) __sync_bool_compare_and_swap(_Ptr, _Old, _New)
+#define OSAtomicCompareAndSwapLong(_Old, _New, _Ptr) os_atomic_cmpxchg(_Ptr, _Old, _New, relaxed)
+#define OSAtomicCompareAndSwapInt(_Old, _New, _Ptr) os_atomic_cmpxchg(_Ptr, _Old, _New, relaxed)
 #endif