Browse Source

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
Mary 4 years ago
parent
commit
929a97d432
1 changed files with 2 additions and 6 deletions
  1. 2 6
      Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs

+ 2 - 6
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();
             }