diff options
author | gdkchan <gab.dark.100@gmail.com> | 2023-04-25 19:33:14 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-25 19:33:14 -0300 |
commit | 097562bc6c227c42f803ce1078fcb4adf06cd20c (patch) | |
tree | 6e737fa6cdf49fbea157a95e3057b131a7d24013 /Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs | |
parent | db4242c5dcca2df90374f58ddeb3601c1eb06cce (diff) |
Add missing check for thread termination on ArbitrateLock (#4722)1.1.732
* Add missing check for thread termination on ArbitrateLock
* Use TerminationRequested in all places where it can be used
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs')
-rw-r--r-- | Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs b/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs index d42f9003..9c196810 100644 --- a/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs +++ b/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs @@ -47,8 +47,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading KThread currentThread = KernelStatic.GetCurrentThread(); - if (currentThread.ShallBeTerminated || - currentThread.SchedFlags == ThreadSchedState.TerminationPending) + if (currentThread.TerminationRequested) { result = KernelResult.ThreadTerminating; } @@ -61,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading else { LinkedListNode<KThread>[] syncNodesArray = ArrayPool<LinkedListNode<KThread>>.Shared.Rent(syncObjs.Length); - + Span<LinkedListNode<KThread>> syncNodes = syncNodesArray.AsSpan(0, syncObjs.Length); for (int index = 0; index < syncObjs.Length; index++) |