aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Common/ReactiveObject.cs
diff options
context:
space:
mode:
authorsunshineinabox <aqemail@gmail.com>2023-10-12 09:11:15 -0700
committerGitHub <noreply@github.com>2023-10-12 18:11:15 +0200
commite768a54f17b390c3ac10904c7909e3bef020edbd (patch)
tree4dbb599d8f32cca2644f7a9e68eb0ca512ac4eb7 /src/Ryujinx.Common/ReactiveObject.cs
parent4e2bb130809c9fe0b8707fb9aac0058217330a49 (diff)
Replace ReaderWriterLock with ReaderWriterLockSlim (#5785)1.1.1051
* Replace ReaderWriterLock with ReaderWriterLockSlim * Resolve Feedback + Correct typo * Revert some unncessary logic
Diffstat (limited to 'src/Ryujinx.Common/ReactiveObject.cs')
-rw-r--r--src/Ryujinx.Common/ReactiveObject.cs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Ryujinx.Common/ReactiveObject.cs b/src/Ryujinx.Common/ReactiveObject.cs
index d2624c36..ac7d2c4d 100644
--- a/src/Ryujinx.Common/ReactiveObject.cs
+++ b/src/Ryujinx.Common/ReactiveObject.cs
@@ -5,7 +5,7 @@ namespace Ryujinx.Common
{
public class ReactiveObject<T>
{
- private readonly ReaderWriterLock _readerWriterLock = new();
+ private readonly ReaderWriterLockSlim _readerWriterLock = new();
private bool _isInitialized;
private T _value;
@@ -15,15 +15,15 @@ namespace Ryujinx.Common
{
get
{
- _readerWriterLock.AcquireReaderLock(Timeout.Infinite);
+ _readerWriterLock.EnterReadLock();
T value = _value;
- _readerWriterLock.ReleaseReaderLock();
+ _readerWriterLock.ExitReadLock();
return value;
}
set
{
- _readerWriterLock.AcquireWriterLock(Timeout.Infinite);
+ _readerWriterLock.EnterWriteLock();
T oldValue = _value;
@@ -32,7 +32,7 @@ namespace Ryujinx.Common
_isInitialized = true;
_value = value;
- _readerWriterLock.ReleaseWriterLock();
+ _readerWriterLock.ExitWriteLock();
if (!oldIsInitialized || oldValue == null || !oldValue.Equals(_value))
{