using System;
using System.Threading;
namespace Ryujinx.HLE.OsHle.Handles
{
class SchedulerThread : IDisposable
public KThread Thread { get; private set; }
public SchedulerThread Next { get; set; }
public bool IsActive { get; set; }
public bool IsRunning { get; set; }
public AutoResetEvent WaitSync { get; private set; }
public ManualResetEvent WaitActivity { get; private set; }
public AutoResetEvent WaitSched { get; private set; }
public SchedulerThread(KThread Thread)
this.Thread = Thread;
IsActive = true;
WaitSync = new AutoResetEvent(false);
WaitActivity = new ManualResetEvent(true);
WaitSched = new AutoResetEvent(false);
}
public void Dispose()
Dispose(true);
protected virtual void Dispose(bool Disposing)
if (Disposing)
WaitSync.Dispose();
WaitActivity.Dispose();
WaitSched.Dispose();