From 15d1cc806b1b978bab83d8bb426a124d9f0f788c Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Mon, 4 May 2020 00:41:29 -0300
Subject: Move kernel state out of the Horizon class (#1107)

* Move kernel state from Horizon to KernelContext

* Merge syscalls partial classes, split 32 and 64-bit variants

* Sort usings
---
 .../HOS/Kernel/Threading/KSynchronization.cs       | 28 +++++++++++-----------
 1 file changed, 14 insertions(+), 14 deletions(-)

(limited to 'Ryujinx.HLE/HOS/Kernel/Threading/KSynchronization.cs')

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
-- 
cgit v1.2.3-70-g09d2