X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/6b200bc335dc93c5516ccb52f14bd896d8c7fad7..ee5f17c73ddf6cea151be3383378b7972c71f538:/OSX/libsecurity_utilities/lib/seccfobject.cpp diff --git a/OSX/libsecurity_utilities/lib/seccfobject.cpp b/OSX/libsecurity_utilities/lib/seccfobject.cpp index 9fcfc7c0..93185ffc 100644 --- a/OSX/libsecurity_utilities/lib/seccfobject.cpp +++ b/OSX/libsecurity_utilities/lib/seccfobject.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -156,12 +157,12 @@ SecCFObject::operator delete(void *object) throw() SecCFObject::SecCFObject() { mRetainCount = 1; - mRetainSpinLock = OS_SPINLOCK_INIT; + mRetainLock = OS_UNFAIR_LOCK_INIT; } uint32_t SecCFObject::updateRetainCount(intptr_t direction, uint32_t *oldCount) { - OSSpinLockLock(&mRetainSpinLock); + os_unfair_lock_lock(&mRetainLock); if (oldCount != NULL) { @@ -179,7 +180,7 @@ uint32_t SecCFObject::updateRetainCount(intptr_t direction, uint32_t *oldCount) uint32_t result = mRetainCount; - OSSpinLockUnlock(&mRetainSpinLock); + os_unfair_lock_unlock(&mRetainLock); return result; }