Rename waitable to multiwait and add missing lock

This commit is contained in:
gdk 2023-01-01 11:16:07 -03:00
parent 6aae859db9
commit fc0a1b4e85
2 changed files with 10 additions and 7 deletions

View file

@ -40,9 +40,9 @@ namespace Ryujinx.Horizon.Sdk.OsTypes.Impl
public void MoveAllFrom(MultiWaitImpl other) public void MoveAllFrom(MultiWaitImpl other)
{ {
foreach (MultiWaitHolderBase waitable in other._multiWaits) foreach (MultiWaitHolderBase multiWait in other._multiWaits)
{ {
waitable.SetMultiWait(this); multiWait.SetMultiWait(this);
} }
_multiWaits.AddRange(other._multiWaits); _multiWaits.AddRange(other._multiWaits);
@ -128,10 +128,13 @@ namespace Ryujinx.Horizon.Sdk.OsTypes.Impl
} }
break; break;
case WaitCancelled: case WaitCancelled:
lock (_lock)
{
if (_signaledHolder != null) if (_signaledHolder != null)
{ {
return _signaledHolder; return _signaledHolder;
} }
}
break; break;
default: default:
lock (_lock) lock (_lock)

View file

@ -15,7 +15,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
private readonly MultiWait _multiWait; private readonly MultiWait _multiWait;
private readonly MultiWait _waitList; private readonly MultiWait _waitList;
private readonly object _waitableSelectionLock; private readonly object _multiWaitSelectionLock;
private readonly object _waitListLock; private readonly object _waitListLock;
private readonly Event _requestStopEvent; private readonly Event _requestStopEvent;
@ -38,7 +38,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
_multiWait = new MultiWait(); _multiWait = new MultiWait();
_waitList = new MultiWait(); _waitList = new MultiWait();
_waitableSelectionLock = new object(); _multiWaitSelectionLock = new object();
_waitListLock = new object(); _waitListLock = new object();
_requestStopEvent = new Event(EventClearMode.ManualClear); _requestStopEvent = new Event(EventClearMode.ManualClear);
@ -136,7 +136,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
private MultiWaitHolder WaitSignaled() private MultiWaitHolder WaitSignaled()
{ {
lock (_waitableSelectionLock) lock (_multiWaitSelectionLock)
{ {
while (true) while (true)
{ {