public void ReleaseWaitThread()
{
if (!this.HasAllStatus(Status.Waiting))
{
Console.Error.WriteLine("Trying to awake a non waiting thread '{0}'", this.CurrentStatus);
//throw (new InvalidOperationException());
}
//Console.WriteLine("Thread:{0}:{1}", this, Thread.CurrentThread.Name);
lock (HleThreadManager.ChangeStatusActions)
{
HleThreadManager.ChangeStatusActions.Enqueue(() =>
{
SetStatus(Status.Ready);
});
}
//this.CurrentStatus.pree
//if (CurrentWaitType != WaitType.Timer && CurrentWaitType != WaitType.Display)
{
//this.GreenThread.SwitchTo();
//CpuThreadState.Yield();
}
}