summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.cpp
diff options
context:
space:
mode:
authorMai <mathew1800@gmail.com>2022-11-09 04:25:53 +0100
committerGitHub <noreply@github.com>2022-11-09 04:25:53 +0100
commitad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8 (patch)
tree58c88d7ca923789c9a5d5518d2af1e413887f451 /src/core/hle/kernel/hle_ipc.cpp
parentMerge pull request #9195 from vonchenplus/vmm_kinds_error (diff)
parentservice_thread: fix deletion (diff)
downloadyuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar.gz
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar.bz2
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar.lz
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar.xz
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.tar.zst
yuzu-ad9e5bc5b7374d87d0b4f47ad7b1a6def78132c8.zip
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.cpp')
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index fd354d484..06010b8d1 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -27,16 +27,12 @@ namespace Kernel {
SessionRequestHandler::SessionRequestHandler(KernelCore& kernel_, const char* service_name_,
ServiceThreadType thread_type)
- : kernel{kernel_} {
- if (thread_type == ServiceThreadType::CreateNew) {
- service_thread = kernel.CreateServiceThread(service_name_);
- } else {
- service_thread = kernel.GetDefaultServiceThread();
- }
-}
+ : kernel{kernel_}, service_thread{thread_type == ServiceThreadType::CreateNew
+ ? kernel.CreateServiceThread(service_name_)
+ : kernel.GetDefaultServiceThread()} {}
SessionRequestHandler::~SessionRequestHandler() {
- kernel.ReleaseServiceThread(service_thread.lock());
+ kernel.ReleaseServiceThread(service_thread);
}
void SessionRequestHandler::AcceptSession(KServerPort* server_port) {
@@ -49,7 +45,7 @@ void SessionRequestHandler::AcceptSession(KServerPort* server_port) {
void SessionRequestHandler::RegisterSession(KServerSession* server_session,
std::shared_ptr<SessionRequestManager> manager) {
manager->SetSessionHandler(shared_from_this());
- service_thread.lock()->RegisterServerSession(server_session, manager);
+ service_thread.RegisterServerSession(server_session, manager);
server_session->Close();
}