| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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();
- }
- }
- }
- }
|