From 82f90704a0662bba7254cb0bc262d785acdabc67 Mon Sep 17 00:00:00 2001 From: Marco Carvalho Date: Wed, 14 Jun 2023 21:34:55 -0300 Subject: Blocks should be synchronized on read-only fields (#5212) * Blocks should be synchronized on read-only fields * more readonlys * fix alignment * more * Update ISelfController.cs * simplify new * simplify new --- src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs | 7 ++----- src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'src/Ryujinx.HLE/HOS/Kernel') diff --git a/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs index 21e89944..510c99ea 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs @@ -40,8 +40,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public ProcessState State { get; private set; } - private object _processLock; - private object _threadingLock; + private readonly object _processLock = new(); + private readonly object _threadingLock = new(); public KAddressArbiter AddressArbiter { get; private set; } @@ -94,9 +94,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public KProcess(KernelContext context, bool allowCodeMemoryForJit = false) : base(context) { - _processLock = new object(); - _threadingLock = new object(); - AddressArbiter = new KAddressArbiter(context); _fullTlsPages = new SortedDictionary(); diff --git a/src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs b/src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs index 63396468..78bd577e 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs @@ -112,7 +112,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading public bool WaitingInArbitration { get; set; } - private object _activityOperationLock; + private readonly object _activityOperationLock = new(); public KThread(KernelContext context) : base(context) { @@ -123,8 +123,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading _mutexWaiters = new LinkedList(); _pinnedWaiters = new LinkedList(); - - _activityOperationLock = new object(); } public Result Initialize( -- cgit v1.2.3