summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-01-17 16:46:29 -0800
committerbunnei <bunneidev@gmail.com>2022-01-20 17:08:00 -0800
commit5ffec69dc79f489631916b71d89090e837997f01 (patch)
tree7c09c67615bd67a1adb1f72bef34758f47994a7e /src
parent11a380c3dae0ac5a419d91dc41a5aa32c4c72868 (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.cpp5
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_);