diff options
author | Stefan Werner <stefan.werner@tangent-animation.com> | 2019-09-14 21:23:29 +0300 |
---|---|---|
committer | Stefan Werner <stefan.werner@tangent-animation.com> | 2019-09-14 21:23:29 +0300 |
commit | 9d282d7a8d689a17ae58e94453ae99a41e91b701 (patch) | |
tree | 4c4bbd145df1c5b34d5779782964129742e30162 | |
parent | ea70bd2abf7c178076a403dd071fcf593b79c20c (diff) |
macOS: Replaced OSSpinLock with os_unfair_lock.
OSSplinLock is a deprecated API, os_unfair_lock is its successor.
This reduces the number of warnings when building on macOS.
-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 18ec5b32144..a9cfc309e0d 100644 --- a/intern/cycles/util/util_thread.h +++ b/intern/cycles/util/util_thread.h @@ -30,7 +30,7 @@ #endif #ifdef __APPLE__ -# include <libkern/OSAtomic.h> +# include <os/lock.h> #endif #include "util/util_function.h" @@ -72,17 +72,17 @@ class thread_spin_lock { #ifdef __APPLE__ inline thread_spin_lock() { - spin_ = OS_SPINLOCK_INIT; + spin_ = OS_UNFAIR_LOCK_INIT; } inline void lock() { - OSSpinLockLock(&spin_); + os_unfair_lock_lock(&spin_); } inline void unlock() { - OSSpinLockUnlock(&spin_); + os_unfair_lock_unlock(&spin_); } #elif defined(_WIN32) inline thread_spin_lock() @@ -128,7 +128,7 @@ class thread_spin_lock { #endif protected: #ifdef __APPLE__ - OSSpinLock spin_; + os_unfair_lock 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 32b7f219605..b7ad6e543f1 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 <libkern/OSAtomic.h> +# include <os/lock.h> #endif /* for tables, button in UI, etc */ @@ -103,7 +103,7 @@ void BLI_mutex_unlock(ThreadMutex *mutex); /* Spin Lock */ #if defined(__APPLE__) -typedef OSSpinLock SpinLock; +typedef os_unfair_lock 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 3c87df55b2b..18893ad1445 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_SPINLOCK_INIT; + *spin = OS_UNFAIR_LOCK_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__) - OSSpinLockLock(spin); + os_unfair_lock_lock(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__) - OSSpinLockUnlock(spin); + os_unfair_lock_unlock(spin); #elif defined(_MSC_VER) _ReadWriteBarrier(); *spin = 0; |