summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/scheduler.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-07 03:58:56 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:32 +0200
commit44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1 (patch)
tree90bcdf95086664472988143f69a602b67759b3c6 /src/core/hle/kernel/scheduler.cpp
parentScheduler: Fix HLE Threads on guard (diff)
downloadyuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar.gz
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar.bz2
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar.lz
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar.xz
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.tar.zst
yuzu-44cb9997b3bf3b1e16b05c2b115c7c4ad5e37dd1.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/scheduler.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index d7529360c..f020438fb 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -687,9 +687,10 @@ void Scheduler::SwitchToCurrent() {
guard.lock();
selected_thread = selected_thread_set;
current_thread = selected_thread;
+ is_context_switch_pending = false;
guard.unlock();
while (!is_context_switch_pending) {
- if (current_thread != nullptr) {
+ if (current_thread != nullptr && !current_thread->IsHLEThread()) {
current_thread->context_guard.lock();
if (current_thread->GetSchedulingStatus() != ThreadSchedStatus::Runnable) {
current_thread->context_guard.unlock();