Scheduler: Fix HLE Threads on guard
This commit is contained in:
parent
3de33348e4
commit
6ed28e15fa
|
@ -689,11 +689,13 @@ void Scheduler::SwitchToCurrent() {
|
|||
current_thread = selected_thread;
|
||||
guard.unlock();
|
||||
while (!is_context_switch_pending) {
|
||||
if (current_thread != nullptr) {
|
||||
current_thread->context_guard.lock();
|
||||
if (current_thread->GetSchedulingStatus() != ThreadSchedStatus::Runnable) {
|
||||
current_thread->context_guard.unlock();
|
||||
break;
|
||||
}
|
||||
}
|
||||
std::shared_ptr<Common::Fiber> next_context;
|
||||
if (current_thread != nullptr) {
|
||||
next_context = current_thread->GetHostContext();
|
||||
|
|
Reference in New Issue