diff options
author | Lioncash <mathew1800@gmail.com> | 2021-04-07 01:25:55 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2021-04-07 01:25:57 -0400 |
commit | c0187690167704fd72dadad9dff5a8fb7e4f96bb (patch) | |
tree | 2a6fed6b4a1c9d436a64e1441b42a09887d9c8ca | |
parent | bc30aa82499baea00a4d985f922e489041660ee7 (diff) |
k_scoped_lock: delete copy and move assignment operators
If we delete the copy and move constructor, we should also be deleting
the copy and move assignment operators (and even if this were intended,
it would be pretty odd to not document why it's done this way).
-rw-r--r-- | src/core/hle/kernel/k_scoped_lock.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/kernel/k_scoped_lock.h b/src/core/hle/kernel/k_scoped_lock.h index 543555680..7a1035b8c 100644 --- a/src/core/hle/kernel/k_scoped_lock.h +++ b/src/core/hle/kernel/k_scoped_lock.h @@ -25,14 +25,17 @@ public: explicit KScopedLock(T* l) : lock_ptr(l) { this->lock_ptr->Lock(); } - explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) { /* ... */ - } + explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) {} + ~KScopedLock() { this->lock_ptr->Unlock(); } KScopedLock(const KScopedLock&) = delete; + KScopedLock& operator=(const KScopedLock&) = delete; + KScopedLock(KScopedLock&&) = delete; + KScopedLock& operator=(KScopedLock&&) = delete; private: T* lock_ptr; |