Lines Matching refs:lock
55 SDL_AtomicTryLock(SDL_SpinLock *lock) in SDL_AtomicTryLock() argument
66 if (*lock == 0) { in SDL_AtomicTryLock()
67 *lock = 1; in SDL_AtomicTryLock()
76 SDL_COMPILE_TIME_ASSERT(locksize, sizeof(*lock) == sizeof(long)); in SDL_AtomicTryLock()
77 return (InterlockedExchange((long*)lock, 1) == 0); in SDL_AtomicTryLock()
80 return _SDL_xchg_watcom(lock, 1) == 0; in SDL_AtomicTryLock()
83 return (__sync_lock_test_and_set(lock, 1) == 0); in SDL_AtomicTryLock()
96 : "=&r" (result) : "r" (1), "r" (lock) : "cc", "memory"); in SDL_AtomicTryLock()
103 : "=&r,&r" (result) : "r,0" (1), "r,r" (lock) : "memory"); in SDL_AtomicTryLock()
110 : "=&r" (result) : "r" (1), "r" (lock) : "cc", "memory"); in SDL_AtomicTryLock()
117 : "=r" (result) : "r" (lock), "0" (1) : "cc", "memory"); in SDL_AtomicTryLock()
122 return OSAtomicCompareAndSwap32Barrier(0, 1, lock); in SDL_AtomicTryLock()
126 return (SDL_bool) ((int) atomic_cas_64((volatile uint64_t*)lock, 0, 1) == 0); in SDL_AtomicTryLock()
130 return (SDL_bool) ((int) atomic_cas_32((volatile uint32_t*)lock, 0, 1) == 0); in SDL_AtomicTryLock()
152 SDL_AtomicLock(SDL_SpinLock *lock) in SDL_AtomicLock() argument
156 while (!SDL_AtomicTryLock(lock)) { in SDL_AtomicLock()
168 SDL_AtomicUnlock(SDL_SpinLock *lock) in SDL_AtomicUnlock() argument
172 *lock = 0; in SDL_AtomicUnlock()
176 *lock = 0; in SDL_AtomicUnlock()
179 __sync_lock_release(lock); in SDL_AtomicUnlock()
183 *lock = 0; in SDL_AtomicUnlock()
187 *lock = 0; in SDL_AtomicUnlock()