diff options
| author | 2019-12-05 16:04:32 -0400 | |
|---|---|---|
| committer | 2019-12-05 18:08:59 -0400 | |
| commit | 40cd4df5842e90e2e946bc30a80d15e897288a52 (patch) | |
| tree | 1f95b440a879c7058d7bc0c7289b428d4bb51b7b /src/core/hle/kernel/scheduler.cpp | |
| parent | Merge pull request #3191 from yuzu-emu/jroweboy-patch-1 (diff) | |
| download | yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.gz yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.xz yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.zip | |
CpuCore: Clear exclusive state after doing a run in dynarmic.
This commit corrects an error in which a Core could remain with an
exclusive state after running, leaving space for possible race
conditions between changing cores.
Diffstat (limited to 'src/core/hle/kernel/scheduler.cpp')
| -rw-r--r-- | src/core/hle/kernel/scheduler.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp index 3f5192087..d36fcd7d9 100644 --- a/src/core/hle/kernel/scheduler.cpp +++ b/src/core/hle/kernel/scheduler.cpp | |||
| @@ -458,7 +458,6 @@ void Scheduler::SwitchContext() { | |||
| 458 | cpu_core.LoadContext(new_thread->GetContext()); | 458 | cpu_core.LoadContext(new_thread->GetContext()); |
| 459 | cpu_core.SetTlsAddress(new_thread->GetTLSAddress()); | 459 | cpu_core.SetTlsAddress(new_thread->GetTLSAddress()); |
| 460 | cpu_core.SetTPIDR_EL0(new_thread->GetTPIDR_EL0()); | 460 | cpu_core.SetTPIDR_EL0(new_thread->GetTPIDR_EL0()); |
| 461 | cpu_core.ClearExclusiveState(); | ||
| 462 | } else { | 461 | } else { |
| 463 | current_thread = nullptr; | 462 | current_thread = nullptr; |
| 464 | // Note: We do not reset the current process and current page table when idling because | 463 | // Note: We do not reset the current process and current page table when idling because |