summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2022-01-17 18:06:33 -0800
committerGravatar bunnei2022-01-20 17:08:00 -0800
commit0b37e7cb39cb96857f3074f2bc5c7912b99baf9a (patch)
tree84ccc955b57a9eab145557eb304ee2b365499400
parenthle: kernel: KServerSession: Remove hack for CompleteSyncRequest. (diff)
downloadyuzu-0b37e7cb39cb96857f3074f2bc5c7912b99baf9a.tar.gz
yuzu-0b37e7cb39cb96857f3074f2bc5c7912b99baf9a.tar.xz
yuzu-0b37e7cb39cb96857f3074f2bc5c7912b99baf9a.zip
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/service_thread.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/service_thread.cpp b/src/core/hle/kernel/service_thread.cpp
index 03f3dec10..4eb3a5988 100644
--- a/src/core/hle/kernel/service_thread.cpp
+++ b/src/core/hle/kernel/service_thread.cpp
@@ -12,6 +12,7 @@
12#include "common/scope_exit.h" 12#include "common/scope_exit.h"
13#include "common/thread.h" 13#include "common/thread.h"
14#include "core/hle/kernel/k_session.h" 14#include "core/hle/kernel/k_session.h"
15#include "core/hle/kernel/k_thread.h"
15#include "core/hle/kernel/kernel.h" 16#include "core/hle/kernel/kernel.h"
16#include "core/hle/kernel/service_thread.h" 17#include "core/hle/kernel/service_thread.h"
17 18
@@ -50,6 +51,10 @@ ServiceThread::Impl::Impl(KernelCore& kernel, std::size_t num_threads, const std
50 51
51 kernel.RegisterHostThread(); 52 kernel.RegisterHostThread();
52 53
54 // Ensure the dummy thread allocated for this host thread is closed on exit.
55 auto* dummy_thread = kernel.GetCurrentEmuThread();
56 SCOPE_EXIT({ dummy_thread->Close(); });
57
53 while (true) { 58 while (true) {
54 std::function<void()> task; 59 std::function<void()> task;
55 60