diff options
author | Liam <byteslice@airmail.cc> | 2023-03-07 04:47:06 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-03-13 03:06:53 +0100 |
commit | d1b53c8d82254a05c03bf2e57b9a5d5a6295abda (patch) | |
tree | 738f77aaa53264939d45240cf37e52c496b6b0c5 /src/core/hle/kernel/k_scoped_lock.h | |
parent | kernel: convert KAbstractSchedulerLock (diff) | |
download | yuzu-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.h | 12 |
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 |