summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/time_manager.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-11-11 07:28:30 +0100
committerbunnei <bunneidev@gmail.com>2021-12-07 01:39:17 +0100
commitb0671c7cfaa8bdb9704827af83be9223a5890f97 (patch)
tree1cc9ae63853c390166832afe9218257eb0a4ee99 /src/core/hle/kernel/time_manager.cpp
parenthle: kernel: KConditionVariable: Migrate to updated KThreadQueue. (diff)
downloadyuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar.gz
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar.bz2
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar.lz
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar.xz
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.tar.zst
yuzu-b0671c7cfaa8bdb9704827af83be9223a5890f97.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/time_manager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/kernel/time_manager.cpp b/src/core/hle/kernel/time_manager.cpp
index 8cd7279a3..aa985d820 100644
--- a/src/core/hle/kernel/time_manager.cpp
+++ b/src/core/hle/kernel/time_manager.cpp
@@ -5,6 +5,7 @@
#include "common/assert.h"
#include "core/core.h"
#include "core/core_timing.h"
+#include "core/hle/kernel/k_scheduler.h"
#include "core/hle/kernel/k_thread.h"
#include "core/hle/kernel/time_manager.h"
@@ -15,7 +16,10 @@ TimeManager::TimeManager(Core::System& system_) : system{system_} {
Core::Timing::CreateEvent("Kernel::TimeManagerCallback",
[this](std::uintptr_t thread_handle, std::chrono::nanoseconds) {
KThread* thread = reinterpret_cast<KThread*>(thread_handle);
- thread->Wakeup();
+ {
+ KScopedSchedulerLock sl(system.Kernel());
+ thread->OnTimer();
+ }
});
}