hle: kernel: KThread: Ensure host (dummy) threads block on locking.

- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
This commit is contained in:
bunnei 2022-01-21 17:10:11 -08:00
parent 8f2630de0a
commit b3f8d2491d
4 changed files with 89 additions and 0 deletions

View file

@ -406,6 +406,9 @@ void KScheduler::EnableScheduling(KernelCore& kernel, u64 cores_needing_scheduli
} else {
RescheduleCores(kernel, cores_needing_scheduling);
}
// Special case to ensure dummy threads that are waiting block.
current_thread->IfDummyThreadTryWait();
}
u64 KScheduler::UpdateHighestPriorityThreads(KernelCore& kernel) {