diff options
| author | bunnei <bunneidev@gmail.com> | 2022-03-10 23:45:54 -0800 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2022-03-14 18:14:53 -0700 |
| commit | 842119385723c5ea09d9f01c6eb7c871950f2340 (patch) | |
| tree | 7c9a425ed2c7397e679d24356e36ab54372c7755 /src/core/hle/kernel/k_server_session.cpp | |
| parent | cbf7c2eb400b3cbaa4d1dcc85b2eb29d7cd0c12d (diff) | |
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
Diffstat (limited to 'src/core/hle/kernel/k_server_session.cpp')
| -rw-r--r-- | src/core/hle/kernel/k_server_session.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp index 4d94eb9cfd..9cfbcbbc90 100644 --- a/src/core/hle/kernel/k_server_session.cpp +++ b/src/core/hle/kernel/k_server_session.cpp @@ -98,7 +98,12 @@ ResultCode KServerSession::HandleDomainSyncRequest(Kernel::HLERequestContext& co UNREACHABLE(); return ResultSuccess; // Ignore error if asserts are off } - return manager->DomainHandler(object_id - 1)->HandleSyncRequest(*this, context); + if (auto strong_ptr = manager->DomainHandler(object_id - 1).lock()) { + return strong_ptr->HandleSyncRequest(*this, context); + } else { + UNREACHABLE(); + return ResultSuccess; + } case IPC::DomainMessageHeader::CommandType::CloseVirtualHandle: { LOG_DEBUG(IPC, "CloseVirtualHandle, object_id=0x{:08X}", object_id); |
