diff options
author | bunnei <bunneidev@gmail.com> | 2022-10-02 11:06:13 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-10-19 04:13:35 +0200 |
commit | 79bcb38321cbde163280b04ee5a03773d54edfd9 (patch) | |
tree | 043f6e70717e5c577b7935c6b7f653cefa839090 /src/core | |
parent | core: hle: kernel: Remove junk. (diff) | |
download | yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar.gz yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar.bz2 yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar.lz yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar.xz yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.tar.zst yuzu-79bcb38321cbde163280b04ee5a03773d54edfd9.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/kernel/k_interrupt_manager.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/core/hle/kernel/k_interrupt_manager.cpp b/src/core/hle/kernel/k_interrupt_manager.cpp index ad73f3eab..4a6b60d26 100644 --- a/src/core/hle/kernel/k_interrupt_manager.cpp +++ b/src/core/hle/kernel/k_interrupt_manager.cpp @@ -11,25 +11,22 @@ namespace Kernel::KInterruptManager { void HandleInterrupt(KernelCore& kernel, s32 core_id) { - auto* process = kernel.CurrentProcess(); - if (!process) { - return; - } - // Acknowledge the interrupt. kernel.PhysicalCore(core_id).ClearInterrupt(); auto& current_thread = GetCurrentThread(kernel); - // If the user disable count is set, we may need to pin the current thread. - if (current_thread.GetUserDisableCount() && !process->GetPinnedThread(core_id)) { - KScopedSchedulerLock sl{kernel}; + if (auto* process = kernel.CurrentProcess(); process) { + // If the user disable count is set, we may need to pin the current thread. + if (current_thread.GetUserDisableCount() && !process->GetPinnedThread(core_id)) { + KScopedSchedulerLock sl{kernel}; - // Pin the current thread. - process->PinCurrentThread(core_id); + // Pin the current thread. + process->PinCurrentThread(core_id); - // Set the interrupt flag for the thread. - GetCurrentThread(kernel).SetInterruptFlag(); + // Set the interrupt flag for the thread. + GetCurrentThread(kernel).SetInterruptFlag(); + } } // Request interrupt scheduling. |