/** * Try acquire an Uninterruptible Spin Lock. * * Will return immediately if the lock has already been acquired by another thread. * If lock is acquired, interrupts will be disabled. * * \return Returns TRUE if the lock was acquired. */ BOOL OSUninterruptibleSpinLock_TryAcquire(OSSpinLock *spinlock) { if (!spinTryLock(spinlock)) { return FALSE; } spinlock->restoreInterruptState = OSDisableInterrupts(); return TRUE; }
BOOL OSTryAcquireSpinLock(OSSpinLock *spinlock) { OSTestThreadCancel(); return spinTryLock(spinlock) ? TRUE : FALSE; }
BOOL OSUninterruptibleSpinLock_TryAcquire(OSSpinLock *spinlock) { return spinTryLock(spinlock); }