diff options
author | Mary <me@thog.eu> | 2022-01-16 13:21:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-16 13:21:44 +0100 |
commit | 929a97d432d98b4270a78cb668d543c23cc2836a (patch) | |
tree | 034f02bf6c2182399066c21d492ede1f9e2b0eae | |
parent | bd215e447d68403901e762aa16ba9b6579ed7cd7 (diff) |
kernel: Fix deadlock when pinning in interrupt handler (#2999)
* kernel: Fix deadlock when pinning in interrupt handler
This fix a deadlock on DoDonPachi Resurrection when starting a new game
* Address gdkchan's comment
-rw-r--r-- | Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs index 649cfb93..be45f02a 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs @@ -761,14 +761,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Process currentThread.SetUserInterruptFlag(); - if (currentThread.IsSchedulable) - { - KernelContext.Schedulers[currentThread.CurrentCore].Schedule(); - } - KernelContext.CriticalSection.Leave(); } - else if (currentThread.IsSchedulable) + + if (currentThread.IsSchedulable) { KernelContext.Schedulers[currentThread.CurrentCore].Schedule(); } |