diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2024-01-28 11:57:53 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-28 11:57:53 -0500 |
| commit | a504a363cdd0608c4e33bd094e5813b53285cb33 (patch) | |
| tree | 4ad08cbdb432224fb079f7260445e2d35dede7d9 /src/core/hle/kernel/k_thread.cpp | |
| parent | dd7b09f1e4172bc66a18f54dadd2a84dbdbcb603 (diff) | |
| parent | 5942df75fb6fafad5dc9d4b02a7fbad981130735 (diff) | |
Merge pull request #12825 from liamwhite/why
kernel: clear pinned waiter list on unpin
Diffstat (limited to 'src/core/hle/kernel/k_thread.cpp')
| -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 7d3421929d..8a360a839b 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); } } |
