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
This commit is contained in:
Mary 2022-01-16 13:21:44 +01:00 committed by GitHub
parent bd215e447d
commit 929a97d432
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -761,14 +761,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
currentThread.SetUserInterruptFlag(); currentThread.SetUserInterruptFlag();
if (currentThread.IsSchedulable)
{
KernelContext.Schedulers[currentThread.CurrentCore].Schedule();
}
KernelContext.CriticalSection.Leave(); KernelContext.CriticalSection.Leave();
} }
else if (currentThread.IsSchedulable)
if (currentThread.IsSchedulable)
{ {
KernelContext.Schedulers[currentThread.CurrentCore].Schedule(); KernelContext.Schedulers[currentThread.CurrentCore].Schedule();
} }