diff options
author | Stefan Werner <stefan.werner@tangent-animation.com> | 2019-09-30 09:28:56 +0300 |
---|---|---|
committer | Stefan Werner <stefan.werner@tangent-animation.com> | 2019-09-30 09:29:17 +0300 |
commit | 04133ee863b43d1a595ce049685c6a2347ffd3ad (patch) | |
tree | 7d2501744d38684c980a1d47d6a9d332a5ae2d3e | |
parent | 64c222ff58577b80994a11fa63c137b89a3083fc (diff) |
Revert "macOS: Replaced OSSpinLock with os_unfair_lock."
This reverts commit 9d282d7a8d689a17ae58e94453ae99a41e91b701.
os_unfair_lock requires macOS 10.12 or newer.
-rw-r--r-- | intern/cycles/util/util_thread.h | 10 | ||||
-rw-r--r-- | source/blender/blenlib/BLI_threads.h | 4 | ||||
-rw-r--r-- | source/blender/blenlib/intern/threads.c | 6 |
3 files changed, 10 insertions, 10 deletions
diff --git a/intern/cycles/util/util_thread.h b/intern/cycles/util/util_thread.h index a9cfc309e0d..18ec5b32144 100644 --- a/intern/cycles/util/util_thread.h +++ b/intern/cycles/util/util_thread.h @@ -30,7 +30,7 @@ #endif #ifdef __APPLE__ -# include <os/lock.h> +# include <libkern/OSAtomic.h> #endif #include "util/util_function.h" @@ -72,17 +72,17 @@ class thread_spin_lock { #ifdef __APPLE__ inline thread_spin_lock() { - spin_ = OS_UNFAIR_LOCK_INIT; + spin_ = OS_SPINLOCK_INIT; } inline void lock() { - os_unfair_lock_lock(&spin_); + OSSpinLockLock(&spin_); } inline void unlock() { - os_unfair_lock_unlock(&spin_); + OSSpinLockUnlock(&spin_); } #elif defined(_WIN32) inline thread_spin_lock() @@ -128,7 +128,7 @@ class thread_spin_lock { #endif protected: #ifdef __APPLE__ - os_unfair_lock spin_; + OSSpinLock spin_; #elif defined(_WIN32) CRITICAL_SECTION cs_; #else diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h index b7ad6e543f1..32b7f219605 100644 --- a/source/blender/blenlib/BLI_threads.h +++ b/source/blender/blenlib/BLI_threads.h @@ -30,7 +30,7 @@ extern "C" { #include <pthread.h> #ifdef __APPLE__ -# include <os/lock.h> +# include <libkern/OSAtomic.h> #endif /* for tables, button in UI, etc */ @@ -103,7 +103,7 @@ void BLI_mutex_unlock(ThreadMutex *mutex); /* Spin Lock */ #if defined(__APPLE__) -typedef os_unfair_lock SpinLock; +typedef OSSpinLock SpinLock; #elif defined(_MSC_VER) typedef volatile int SpinLock; #else diff --git a/source/blender/blenlib/intern/threads.c b/source/blender/blenlib/intern/threads.c index 18893ad1445..3c87df55b2b 100644 --- a/source/blender/blenlib/intern/threads.c +++ b/source/blender/blenlib/intern/threads.c @@ -480,7 +480,7 @@ void BLI_mutex_free(ThreadMutex *mutex) void BLI_spin_init(SpinLock *spin) { #if defined(__APPLE__) - *spin = OS_UNFAIR_LOCK_INIT; + *spin = OS_SPINLOCK_INIT; #elif defined(_MSC_VER) *spin = 0; #else @@ -491,7 +491,7 @@ void BLI_spin_init(SpinLock *spin) void BLI_spin_lock(SpinLock *spin) { #if defined(__APPLE__) - os_unfair_lock_lock(spin); + OSSpinLockLock(spin); #elif defined(_MSC_VER) while (InterlockedExchangeAcquire(spin, 1)) { while (*spin) { @@ -507,7 +507,7 @@ void BLI_spin_lock(SpinLock *spin) void BLI_spin_unlock(SpinLock *spin) { #if defined(__APPLE__) - os_unfair_lock_unlock(spin); + OSSpinLockUnlock(spin); #elif defined(_MSC_VER) _ReadWriteBarrier(); *spin = 0; |