summaryrefslogtreecommitdiffstats
path: root/src/core/cpu_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cpu_manager.cpp')
-rw-r--r--src/core/cpu_manager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index 6032cb0bf..241971ff3 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -80,9 +80,10 @@ void CpuManager::RunGuestThread() {
}
while (true) {
auto& physical_core = kernel.CurrentPhysicalCore();
- if (!physical_core.IsInterrupted()) {
+ while (!physical_core.IsInterrupted()) {
physical_core.Run();
}
+ physical_core.ClearExclusive();
auto& scheduler = physical_core.Scheduler();
scheduler.TryDoContextSwitch();
}