(Hopefully) Properly check if the thread is blocked when stepping
This commit is contained in:
parent
144aa2f5b1
commit
f934d23de4
1 changed files with 5 additions and 1 deletions
|
@ -1442,12 +1442,16 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
|
|||
{
|
||||
lock (_activityOperationLock)
|
||||
{
|
||||
KernelContext.CriticalSection.Enter();
|
||||
bool blocked = MutexOwner != null || WaitingInArbitration || WaitingSync;
|
||||
if (_debugState != (int)DebugState.Stopped
|
||||
|| (_forcePauseFlags & ThreadSchedState.ThreadPauseFlag) == 0
|
||||
|| MutexOwner != null)
|
||||
|| blocked)
|
||||
{
|
||||
KernelContext.CriticalSection.Leave();
|
||||
return false;
|
||||
}
|
||||
KernelContext.CriticalSection.Leave();
|
||||
|
||||
Context.RequestDebugStep();
|
||||
Resume(ThreadSchedState.ThreadPauseFlag);
|
||||
|
|
Loading…
Reference in a new issue