HLE/SRV: Implemented RegisterService.

Now system modules can do more than just crash immediately on startup.
This commit is contained in:
Subv 2017-09-24 00:12:58 -05:00
parent b9365deb5a
commit 2e487c9bce
4 changed files with 33 additions and 1 deletions

View file

@ -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);