using Ryujinx.HLE.HOS.Kernel.Threading; using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Kernel.Common { class KSynchronizationObject : KAutoObject { public LinkedList WaitingThreads { get; } public KSynchronizationObject(Horizon system) : base(system) { WaitingThreads = new LinkedList(); } public LinkedListNode AddWaitingThread(KThread thread) { return WaitingThreads.AddLast(thread); } public void RemoveWaitingThread(LinkedListNode node) { WaitingThreads.Remove(node); } public virtual void Signal() { System.Synchronization.SignalObject(this); } public virtual bool IsSignaled() { return false; } } }