summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-04-12 23:01:40 +0200
committerGitHub <noreply@github.com>2022-04-12 23:01:40 +0200
commitca2accfb259b948431ec174ead432778f3c86f67 (patch)
treef3729b67e09270683a948f48169185c2360cc4af /src/core/hle/kernel/hle_ipc.cpp
parentMerge pull request #8178 from tech-ticks/skyline-icache-fix (diff)
parenthle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession. (diff)
downloadyuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar.gz
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar.bz2
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar.lz
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar.xz
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.tar.zst
yuzu-ca2accfb259b948431ec174ead432778f3c86f67.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index b547a3463..5828ac923 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -51,7 +51,7 @@ bool SessionRequestManager::HasSessionRequestHandler(const HLERequestContext& co
LOG_CRITICAL(IPC, "object_id {} is too big!", object_id);
return false;
}
- return DomainHandler(object_id - 1).lock() != nullptr;
+ return !DomainHandler(object_id - 1).expired();
} else {
return session_handler != nullptr;
}
@@ -59,6 +59,9 @@ bool SessionRequestManager::HasSessionRequestHandler(const HLERequestContext& co
void SessionRequestHandler::ClientConnected(KServerSession* session) {
session->ClientConnected(shared_from_this());
+
+ // Ensure our server session is tracked globally.
+ kernel.RegisterServerObject(session);
}
void SessionRequestHandler::ClientDisconnected(KServerSession* session) {