aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary <me@thog.eu>2022-01-16 13:21:44 +0100
committerGitHub <noreply@github.com>2022-01-16 13:21:44 +0100
commit929a97d432d98b4270a78cb668d543c23cc2836a (patch)
tree034f02bf6c2182399066c21d492ede1f9e2b0eae
parentbd215e447d68403901e762aa16ba9b6579ed7cd7 (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.cs8
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();
}