Explorar el Código

kernel: clear pinned waiter list on unpin

Liam hace 2 años
padre
commit
6c4eb2733d
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  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);
     }
 }