aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/sm/sm.cpp
diff options
context:
space:
mode:
authorB3n30 <bene_thomas@web.de>2017-09-25 08:22:05 +0200
committerGitHub <noreply@github.com>2017-09-25 08:22:05 +0200
commita21b9deb986c21114207b099de1438163aa99748 (patch)
tree9b9ef4fd67e23b3c00fadcc06bfd970957984b35 /src/core/hle/service/sm/sm.cpp
parentc91ccbd0ba4118554d7377bbc3bd4c64f9bccf84 (diff)
parent0b33e36292ca44151da32c7866e4c4394add564b (diff)
Merge pull request #2948 from Subv/register_service
HLE/SRV: Implemented RegisterService.
Diffstat (limited to 'src/core/hle/service/sm/sm.cpp')
-rw-r--r--src/core/hle/service/sm/sm.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index 5e7fc68f9..854ab9a05 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -36,6 +36,10 @@ ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> ServiceManager::RegisterService
std::string name, unsigned int max_sessions) {
CASCADE_CODE(ValidateServiceName(name));
+
+ if (registered_services.find(name) != registered_services.end())
+ return ERR_ALREADY_REGISTERED;
+
Kernel::SharedPtr<Kernel::ServerPort> server_port;
Kernel::SharedPtr<Kernel::ClientPort> client_port;
std::tie(server_port, client_port) = Kernel::ServerPort::CreatePortPair(max_sessions, name);