LM: Don't create an unnecessary port in Initialize.
This commit is contained in:
		| @@ -146,18 +146,16 @@ void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||
|  *      0: ResultCode | ||||
|  */ | ||||
| void LM::Initialize(Kernel::HLERequestContext& ctx) { | ||||
|     auto client_port = std::make_shared<Logger>()->CreatePort(); | ||||
|     auto session = client_port->Connect(); | ||||
|     if (session.Succeeded()) { | ||||
|         LOG_DEBUG(Service_SM, "called, initialized logger -> session=%u", | ||||
|                   (*session)->GetObjectId()); | ||||
|         IPC::RequestBuilder rb{ctx, 2, 0, 1}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushMoveObjects(std::move(session).Unwrap()); | ||||
|         registered_loggers.emplace_back(std::move(client_port)); | ||||
|     } else { | ||||
|         UNIMPLEMENTED(); | ||||
|     } | ||||
|     auto logger = std::make_shared<Logger>(); | ||||
|     auto sessions = Kernel::ServerSession::CreateSessionPair(logger->GetServiceName()); | ||||
|     auto server = std::get<Kernel::SharedPtr<Kernel::ServerSession>>(sessions); | ||||
|     auto client = std::get<Kernel::SharedPtr<Kernel::ClientSession>>(sessions); | ||||
|     logger->ClientConnected(server); | ||||
|  | ||||
|     LOG_DEBUG(Service_SM, "called, initialized logger -> session=%u", client->GetObjectId()); | ||||
|     IPC::RequestBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushMoveObjects(std::move(client)); | ||||
|  | ||||
|     LOG_INFO(Service_SM, "called"); | ||||
| } | ||||
|   | ||||
| @@ -5,7 +5,6 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <vector> | ||||
| #include "core/hle/kernel/client_port.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/service/service.h" | ||||
|  | ||||
| @@ -19,8 +18,6 @@ public: | ||||
|  | ||||
| private: | ||||
|     void Initialize(Kernel::HLERequestContext& ctx); | ||||
|  | ||||
|     std::vector<Kernel::SharedPtr<Kernel::ClientPort>> registered_loggers; | ||||
| }; | ||||
|  | ||||
| /// Registers all LM services with the specified service manager. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user