platform_refcount.h 345 B

12345678910111213141516171819
  1. #include "safe_refcount.h"
  2. #ifdef IPHONE_ENABLED
  3. #define REFCOUNT_T int
  4. #define REFCOUNT_GET_T int const volatile&
  5. #include <libkern/OSAtomic.h>
  6. inline int atomic_conditional_increment(volatile int* v) {
  7. return (*v==0)? 0 : OSAtomicIncrement32(v);
  8. }
  9. inline int atomic_decrement(volatile int* v) {
  10. return OSAtomicDecrement32(v);
  11. }
  12. #endif