forked from Mirror/Ryujinx
Fix bad merge, and a few other fixes
This commit is contained in:
parent
ac80e7d3f9
commit
6e69cd9284
4 changed files with 14 additions and 3 deletions
|
@ -95,6 +95,11 @@ namespace Ryujinx.Core.OsHle.Handles
|
|||
return Threads.Contains(SchedThread);
|
||||
}
|
||||
}
|
||||
|
||||
public bool Remove(SchedulerThread SchedThread)
|
||||
{
|
||||
return Threads.Remove(SchedThread);
|
||||
}
|
||||
}
|
||||
|
||||
private ConcurrentDictionary<KThread, SchedulerThread> AllThreads;
|
||||
|
@ -153,6 +158,11 @@ namespace Ryujinx.Core.OsHle.Handles
|
|||
|
||||
lock (SchedLock)
|
||||
{
|
||||
if (AllThreads.TryRemove(Thread, out SchedulerThread SchedThread))
|
||||
{
|
||||
WaitingToRun[Thread.ProcessorId].Remove(SchedThread);
|
||||
}
|
||||
|
||||
SchedulerThread NewThread = WaitingToRun[Thread.ProcessorId].Pop();
|
||||
|
||||
if (NewThread == null)
|
||||
|
|
|
@ -179,6 +179,8 @@ namespace Ryujinx.Core.OsHle
|
|||
}
|
||||
|
||||
VsyncEvent.Dispose();
|
||||
|
||||
Scheduler.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -370,8 +370,6 @@ namespace Ryujinx.Core.OsHle
|
|||
INvDrvServices.NvMapsById.DeleteProcess(this);
|
||||
INvDrvServices.NvMapsFb .DeleteProcess(this);
|
||||
|
||||
Scheduler.Dispose();
|
||||
|
||||
AppletState.Dispose();
|
||||
|
||||
SvcHandler.Dispose();
|
||||
|
|
|
@ -25,8 +25,9 @@ namespace Ryujinx.Core.OsHle.Services.Aud
|
|||
};
|
||||
|
||||
SystemEvent = new KEvent();
|
||||
|
||||
//TODO: We shouldn't be signaling this here.
|
||||
SystemEvent.Handle.Set();
|
||||
SystemEvent.WaitEvent.Set();
|
||||
}
|
||||
|
||||
public long ListAudioDeviceName(ServiceCtx Context)
|
||||
|
|
Reference in a new issue