Ver código fonte

Merge pull request #12825 from liamwhite/why

kernel: clear pinned waiter list on unpin
liamwhite 2 anos atrás
pai
commit
077a50a547
1 arquivos alterados com 2 adições e 1 exclusões
  1. 2 1
      src/core/hle/kernel/k_thread.cpp

+ 2 - 1
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);
     }
 }