aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_port.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-03-10 23:45:54 -0800
committerbunnei <bunneidev@gmail.com>2022-03-14 18:14:53 -0700
commit07c9d9bdbdbf632624ca01ea83dbfa51176415ae (patch)
tree7c9a425ed2c7397e679d24356e36ab54372c7755 /src/core/hle/kernel/k_port.cpp
parentce33503adf40b86f030a0520e40fb9cfe6a52631 (diff)
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
Diffstat (limited to 'src/core/hle/kernel/k_port.cpp')
-rw-r--r--src/core/hle/kernel/k_port.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_port.cpp b/src/core/hle/kernel/k_port.cpp
index a8ba09c4a..ceb98709f 100644
--- a/src/core/hle/kernel/k_port.cpp
+++ b/src/core/hle/kernel/k_port.cpp
@@ -57,7 +57,12 @@ ResultCode KPort::EnqueueSession(KServerSession* session) {
R_UNLESS(state == State::Normal, ResultPortClosed);
server.EnqueueSession(session);
- server.GetSessionRequestHandler()->ClientConnected(server.AcceptSession());
+
+ if (auto session_ptr = server.GetSessionRequestHandler().lock()) {
+ session_ptr->ClientConnected(server.AcceptSession());
+ } else {
+ UNREACHABLE();
+ }
return ResultSuccess;
}