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
This commit is contained in:
gdkchan 2020-05-04 00:41:29 -03:00 committed by GitHub
parent cd48576f58
commit 15d1cc806b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
68 changed files with 3678 additions and 3570 deletions

View file

@ -4,18 +4,18 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
{
class KReadableEvent : KSynchronizationObject
{
private KEvent _parent;
private readonly KEvent _parent;
private bool _signaled;
public KReadableEvent(Horizon system, KEvent parent) : base(system)
public KReadableEvent(KernelContext context, KEvent parent) : base(context)
{
_parent = parent;
}
public override void Signal()
{
System.CriticalSection.Enter();
KernelContext.CriticalSection.Enter();
if (!_signaled)
{
@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
base.Signal();
}
System.CriticalSection.Leave();
KernelContext.CriticalSection.Leave();
}
public KernelResult Clear()
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
{
KernelResult result;
System.CriticalSection.Enter();
KernelContext.CriticalSection.Enter();
if (_signaled)
{
@ -51,7 +51,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
result = KernelResult.InvalidState;
}
System.CriticalSection.Leave();
KernelContext.CriticalSection.Leave();
return result;
}