aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_spin_lock.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-04-07 16:01:26 -0700
committerbunnei <bunneidev@gmail.com>2022-04-11 21:13:40 -0700
commite1b3368c1817b0d1261585d2e555a797d2110802 (patch)
treed17e4ed20b9249507ad587aa0eb82e277daff614 /src/core/hle/kernel/k_spin_lock.cpp
parent203b812a83cf3e65eb852188cee482db2b6f2c22 (diff)
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
Diffstat (limited to 'src/core/hle/kernel/k_spin_lock.cpp')
-rw-r--r--src/core/hle/kernel/k_spin_lock.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/core/hle/kernel/k_spin_lock.cpp b/src/core/hle/kernel/k_spin_lock.cpp
index 4412aa4bb2..4df2e5c1aa 100644
--- a/src/core/hle/kernel/k_spin_lock.cpp
+++ b/src/core/hle/kernel/k_spin_lock.cpp
@@ -35,20 +35,15 @@ void ThreadPause() {
namespace Kernel {
void KSpinLock::Lock() {
- while (lck.test_and_set(std::memory_order_acquire)) {
- ThreadPause();
- }
+ lck.lock();
}
void KSpinLock::Unlock() {
- lck.clear(std::memory_order_release);
+ lck.unlock();
}
bool KSpinLock::TryLock() {
- if (lck.test_and_set(std::memory_order_acquire)) {
- return false;
- }
- return true;
+ return lck.try_lock();
}
} // namespace Kernel