4 typedef unsigned int objc_lock
;
6 static inline bool objc_lock_try(volatile objc_lock
*__lock
) {
7 return __sync_bool_compare_and_swap(__lock
, 0, 1);
10 static inline void objc_lock_lock(volatile objc_lock
*__lock
) {
11 while(!__sync_bool_compare_and_swap(__lock
, 0, 1)) {
20 static inline void objc_lock_unlock(volatile objc_lock
*__lock
) {
21 __sync_bool_compare_and_swap(__lock
, 1, 0);