aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Common/ReactiveObject.cs
diff options
context:
space:
mode:
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))
{