aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Kernel
diff options
context:
space:
mode:
authorMarco Carvalho <marcolucio27@gmail.com>2023-06-14 21:34:55 -0300
committerGitHub <noreply@github.com>2023-06-15 00:34:55 +0000
commit82f90704a0662bba7254cb0bc262d785acdabc67 (patch)
tree72d32a909661d7f26217eee66ffe1d068dcfe101 /src/Ryujinx.HLE/HOS/Kernel
parentf978d3726a87dcc067abb2541b96b831e4390fbb (diff)
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
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Kernel')
-rw-r--r--src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs7
-rw-r--r--src/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs4
2 files changed, 3 insertions, 8 deletions
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<ulong, KTlsPageInfo>();
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<KThread>();
_pinnedWaiters = new LinkedList<KThread>();
-
- _activityOperationLock = new object();
}
public Result Initialize(