diff options
author | bunnei <bunneidev@gmail.com> | 2022-01-17 16:46:29 -0800 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-01-20 17:08:00 -0800 |
commit | 5ffec69dc79f489631916b71d89090e837997f01 (patch) | |
tree | 7c09c67615bd67a1adb1f72bef34758f47994a7e /src | |
parent | 11a380c3dae0ac5a419d91dc41a5aa32c4c72868 (diff) |
hle: kernel: KThread: Ensure dummy threads never call EndWait.
- These are only used by host threads for locking and will never have a wait_queue.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/k_thread.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index 5eb64a381..35c4a7581 100644 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -1097,6 +1097,11 @@ void KThread::EndWait(ResultCode wait_result_) { // Lock the scheduler. KScopedSchedulerLock sl(kernel); + // Dummy threads are just used by host threads for locking, and will never have a wait_queue. + if (thread_type == ThreadType::Dummy) { + return; + } + // If we're waiting, notify our queue that we're available. if (GetState() == ThreadState::Waiting) { wait_queue->EndWait(this, wait_result_); |