diff options
author | Liam <byteslice@airmail.cc> | 2024-01-27 22:53:09 -0500 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-01-27 22:53:49 -0500 |
commit | 6c4eb2733d8282b347e4ac5c2c2b278e36f48c5f (patch) | |
tree | 9c595375d9d207aec49c5700037911b691956c0f /src/core/hle/kernel | |
parent | d5e8c9d04f80aee80aa93f7963259c6fecacc660 (diff) |
kernel: clear pinned waiter list on unpin
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r-- | src/core/hle/kernel/k_thread.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index 7d3421929..8a360a839 100644 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -543,7 +543,8 @@ void KThread::Unpin() { ASSERT(m_parent != nullptr); // Resume any threads that began waiting on us while we were pinned. - for (auto it = m_pinned_waiter_list.begin(); it != m_pinned_waiter_list.end(); ++it) { + for (auto it = m_pinned_waiter_list.begin(); it != m_pinned_waiter_list.end(); + it = m_pinned_waiter_list.erase(it)) { it->EndWait(ResultSuccess); } } |