mirror of
https://github.com/godotengine/godot.git
synced 2024-11-10 06:03:09 +00:00
Use os_unfair_lock
on Apple platforms
This commit is contained in:
parent
c8c483cf57
commit
e28b31ec96
@ -33,6 +33,25 @@
|
||||
|
||||
#include "core/typedefs.h"
|
||||
|
||||
#if defined(__APPLE__)
|
||||
|
||||
#include <os/lock.h>
|
||||
|
||||
class SpinLock {
|
||||
mutable os_unfair_lock _lock = OS_UNFAIR_LOCK_INIT;
|
||||
|
||||
public:
|
||||
_ALWAYS_INLINE_ void lock() const {
|
||||
os_unfair_lock_lock(&_lock);
|
||||
}
|
||||
|
||||
_ALWAYS_INLINE_ void unlock() const {
|
||||
os_unfair_lock_unlock(&_lock);
|
||||
}
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
#include <atomic>
|
||||
|
||||
class SpinLock {
|
||||
@ -49,4 +68,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // __APPLE__
|
||||
|
||||
#endif // SPIN_LOCK_H
|
||||
|
Loading…
Reference in New Issue
Block a user