summaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index c90802455..3462af8ce 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -44,8 +44,8 @@
44 44
45namespace Service { 45namespace Service {
46 46
47std::unordered_map<std::string, std::tuple<Kernel::SharedPtr<Kernel::ClientPort>, std::shared_ptr<Interface>>> g_kernel_named_ports; 47std::unordered_map<std::string, Kernel::SharedPtr<Kernel::ClientPort>> g_kernel_named_ports;
48std::unordered_map<std::string, std::tuple<Kernel::SharedPtr<Kernel::ClientPort>, std::shared_ptr<Interface>>> g_srv_services; 48std::unordered_map<std::string, Kernel::SharedPtr<Kernel::ClientPort>> g_srv_services;
49 49
50/** 50/**
51 * Creates a function string for logging, complete with the name (or header code, depending 51 * Creates a function string for logging, complete with the name (or header code, depending
@@ -102,15 +102,17 @@ void Interface::Register(const FunctionInfo* functions, size_t n) {
102// Module interface 102// Module interface
103 103
104static void AddNamedPort(Interface* interface_) { 104static void AddNamedPort(Interface* interface_) {
105 auto ports = Kernel::ServerPort::CreatePortPair(interface_->GetMaxSessions(), interface_->GetPortName()); 105 auto ports = Kernel::ServerPort::CreatePortPair(interface_->GetMaxSessions(), interface_->GetPortName(),
106 std::shared_ptr<Interface>(interface_));
106 auto client_port = std::get<Kernel::SharedPtr<Kernel::ClientPort>>(ports); 107 auto client_port = std::get<Kernel::SharedPtr<Kernel::ClientPort>>(ports);
107 g_kernel_named_ports.emplace(interface_->GetPortName(), std::make_tuple(client_port, std::shared_ptr<Interface>(interface_))); 108 g_kernel_named_ports.emplace(interface_->GetPortName(), client_port);
108} 109}
109 110
110void AddService(Interface* interface_) { 111void AddService(Interface* interface_) {
111 auto ports = Kernel::ServerPort::CreatePortPair(interface_->GetMaxSessions(), interface_->GetPortName()); 112 auto ports = Kernel::ServerPort::CreatePortPair(interface_->GetMaxSessions(), interface_->GetPortName(),
113 std::shared_ptr<Interface>(interface_));
112 auto client_port = std::get<Kernel::SharedPtr<Kernel::ClientPort>>(ports); 114 auto client_port = std::get<Kernel::SharedPtr<Kernel::ClientPort>>(ports);
113 g_srv_services.emplace(interface_->GetPortName(), std::make_tuple(client_port, std::shared_ptr<Interface>(interface_))); 115 g_srv_services.emplace(interface_->GetPortName(), client_port);
114} 116}
115 117
116/// Initialize ServiceManager 118/// Initialize ServiceManager