summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_scoped_lock.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-03-07 04:47:06 +0100
committerLiam <byteslice@airmail.cc>2023-03-13 03:06:53 +0100
commitd1b53c8d82254a05c03bf2e57b9a5d5a6295abda (patch)
tree738f77aaa53264939d45240cf37e52c496b6b0c5 /src/core/hle/kernel/k_scoped_lock.h
parentkernel: convert KAbstractSchedulerLock (diff)
downloadyuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar.gz
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar.bz2
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar.lz
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar.xz
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.tar.zst
yuzu-d1b53c8d82254a05c03bf2e57b9a5d5a6295abda.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_scoped_lock.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/k_scoped_lock.h b/src/core/hle/kernel/k_scoped_lock.h
index a15640fd2..629a7d20d 100644
--- a/src/core/hle/kernel/k_scoped_lock.h
+++ b/src/core/hle/kernel/k_scoped_lock.h
@@ -18,15 +18,15 @@ std::is_reference_v<T>&& requires(T& t) {
template <typename T>
requires KLockable<T>
-class [[nodiscard]] KScopedLock {
+class KScopedLock {
public:
- explicit KScopedLock(T* l) : lock_ptr(l) {
- this->lock_ptr->Lock();
+ explicit KScopedLock(T* l) : m_lock(*l) {}
+ explicit KScopedLock(T& l) : m_lock(l) {
+ m_lock.Lock();
}
- explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) {}
~KScopedLock() {
- this->lock_ptr->Unlock();
+ m_lock.Unlock();
}
KScopedLock(const KScopedLock&) = delete;
@@ -36,7 +36,7 @@ public:
KScopedLock& operator=(KScopedLock&&) = delete;
private:
- T* lock_ptr;
+ T& m_lock;
};
} // namespace Kernel