aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs28
1 files changed, 14 insertions, 14 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs b/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs
index 865551a2..fa9b669e 100644
--- a/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs
@@ -5,11 +5,11 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
{
class KSynchronization
{
- private Horizon _system;
+ private KernelContext _context;
- public KSynchronization(Horizon system)
+ public KSynchronization(KernelContext context)
{
- _system = system;
+ _context = context;
}
public KernelResult WaitFor(KSynchronizationObject[] syncObjs, long timeout, out int handleIndex)
@@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
KernelResult result = KernelResult.TimedOut;
- _system.CriticalSection.Enter();
+ _context.CriticalSection.Enter();
// Check if objects are already signaled before waiting.
for (int index = 0; index < syncObjs.Length; index++)
@@ -30,19 +30,19 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
handleIndex = index;
- _system.CriticalSection.Leave();
+ _context.CriticalSection.Leave();
return KernelResult.Success;
}
if (timeout == 0)
{
- _system.CriticalSection.Leave();
+ _context.CriticalSection.Leave();
return result;
}
- KThread currentThread = _system.Scheduler.GetCurrentThread();
+ KThread currentThread = _context.Scheduler.GetCurrentThread();
if (currentThread.ShallBeTerminated ||
currentThread.SchedFlags == ThreadSchedState.TerminationPending)
@@ -72,19 +72,19 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
if (timeout > 0)
{
- _system.TimeManager.ScheduleFutureInvocation(currentThread, timeout);
+ _context.TimeManager.ScheduleFutureInvocation(currentThread, timeout);
}
- _system.CriticalSection.Leave();
+ _context.CriticalSection.Leave();
currentThread.WaitingSync = false;
if (timeout > 0)
{
- _system.TimeManager.UnscheduleFutureInvocation(currentThread);
+ _context.TimeManager.UnscheduleFutureInvocation(currentThread);
}
- _system.CriticalSection.Enter();
+ _context.CriticalSection.Enter();
result = currentThread.ObjSyncResult;
@@ -101,14 +101,14 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
}
}
- _system.CriticalSection.Leave();
+ _context.CriticalSection.Leave();
return result;
}
public void SignalObject(KSynchronizationObject syncObj)
{
- _system.CriticalSection.Enter();
+ _context.CriticalSection.Enter();
if (syncObj.IsSignaled())
{
@@ -130,7 +130,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
}
}
- _system.CriticalSection.Leave();
+ _context.CriticalSection.Leave();
}
}
} \ No newline at end of file