Просмотр исходного кода

kernel: clear pinned waiter list on unpin

Liam 2 лет назад
Родитель
Сommit
6c4eb2733d
1 измененных файлов с 2 добавлено и 1 удалено
  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);
     }
 }