diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-06-10 21:46:42 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-06-10 21:46:42 -0300 |
| commit | 76f3b1b3a4637ec72abfbb8cbc0679f2e0ca838f (patch) | |
| tree | 0411b709de31c1c0517763512df8eeb9f7491bc9 /Ryujinx.Core/OsHle/Handles/KThread.cs | |
| parent | 518fe799da6dd4f12c58c9e6e174767effb0b868 (diff) | |
Rename Ryujinx.Core to Ryujinx.HLE and add a separate project for a future LLE implementation
Diffstat (limited to 'Ryujinx.Core/OsHle/Handles/KThread.cs')
| -rw-r--r-- | Ryujinx.Core/OsHle/Handles/KThread.cs | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/Ryujinx.Core/OsHle/Handles/KThread.cs b/Ryujinx.Core/OsHle/Handles/KThread.cs deleted file mode 100644 index 48782823..00000000 --- a/Ryujinx.Core/OsHle/Handles/KThread.cs +++ /dev/null @@ -1,86 +0,0 @@ -using ChocolArm64; -using System.Collections.Generic; - -namespace Ryujinx.Core.OsHle.Handles -{ - class KThread : KSynchronizationObject - { - public AThread Thread { get; private set; } - - public int CoreMask { get; set; } - - public long MutexAddress { get; set; } - public long CondVarAddress { get; set; } - - public bool CondVarSignaled { get; set; } - - private Process Process; - - public List<KThread> MutexWaiters { get; private set; } - - public KThread MutexOwner { get; set; } - - public int ActualPriority { get; private set; } - public int WantedPriority { get; private set; } - - public int ActualCore { get; set; } - public int ProcessorId { get; set; } - public int IdealCore { get; set; } - - public int WaitHandle { get; set; } - - public int ThreadId => Thread.ThreadId; - - public KThread( - AThread Thread, - Process Process, - int ProcessorId, - int Priority) - { - this.Thread = Thread; - this.Process = Process; - this.ProcessorId = ProcessorId; - this.IdealCore = ProcessorId; - - MutexWaiters = new List<KThread>(); - - CoreMask = 1 << ProcessorId; - - ActualPriority = WantedPriority = Priority; - } - - public void SetPriority(int Priority) - { - WantedPriority = Priority; - - UpdatePriority(); - } - - public void UpdatePriority() - { - int OldPriority = ActualPriority; - - int CurrPriority = WantedPriority; - - lock (Process.ThreadSyncLock) - { - foreach (KThread Thread in MutexWaiters) - { - if (CurrPriority > Thread.WantedPriority) - { - CurrPriority = Thread.WantedPriority; - } - } - } - - if (CurrPriority != OldPriority) - { - ActualPriority = CurrPriority; - - Process.Scheduler.Resort(this); - - MutexOwner?.UpdatePriority(); - } - } - } -}
\ No newline at end of file |
