summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_scheduler.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-11-26 05:46:17 +0100
committerbunnei <bunneidev@gmail.com>2021-12-07 01:39:17 +0100
commitabbea575cfcc9e933fbe8f277a5e9f754deb669d (patch)
tree50cf06afc61acb947ba8959a33c0e60b74951c1e /src/core/hle/kernel/k_scheduler.cpp
parenthle: kernel: KSynchronizationObject: Fix variable shadowing. (diff)
downloadyuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar.gz
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar.bz2
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar.lz
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar.xz
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.tar.zst
yuzu-abbea575cfcc9e933fbe8f277a5e9f754deb669d.zip
Diffstat (limited to 'src/core/hle/kernel/k_scheduler.cpp')
-rw-r--r--src/core/hle/kernel/k_scheduler.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp
index 6ddbae52c..5423b187e 100644
--- a/src/core/hle/kernel/k_scheduler.cpp
+++ b/src/core/hle/kernel/k_scheduler.cpp
@@ -376,11 +376,21 @@ void KScheduler::ClearSchedulerUpdateNeeded(KernelCore& kernel) {
}
void KScheduler::DisableScheduling(KernelCore& kernel) {
+ // If we are shutting down the kernel, none of this is relevant anymore.
+ if (kernel.IsShuttingDown()) {
+ return;
+ }
+
ASSERT(GetCurrentThreadPointer(kernel)->GetDisableDispatchCount() >= 0);
GetCurrentThreadPointer(kernel)->DisableDispatch();
}
void KScheduler::EnableScheduling(KernelCore& kernel, u64 cores_needing_scheduling) {
+ // If we are shutting down the kernel, none of this is relevant anymore.
+ if (kernel.IsShuttingDown()) {
+ return;
+ }
+
ASSERT(GetCurrentThreadPointer(kernel)->GetDisableDispatchCount() >= 1);
if (GetCurrentThreadPointer(kernel)->GetDisableDispatchCount() > 1) {