summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-01-28 11:57:53 -0500
committerGitHub <noreply@github.com>2024-01-28 11:57:53 -0500
commit077a50a547a6091178d73280ea9e156ac74a2ee8 (patch)
tree4ad08cbdb432224fb079f7260445e2d35dede7d9 /src
parent820f1c8a166f4d3e27da4509f4c45706cdaf288e (diff)
parent6c4eb2733d8282b347e4ac5c2c2b278e36f48c5f (diff)
Merge pull request #12825 from liamwhite/why
kernel: clear pinned waiter list on unpin
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_thread.cpp3
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);
}
}