summaryrefslogtreecommitdiff
path: root/src/core/hle/service/lm
diff options
context:
space:
mode:
authorGravatar Liam2023-02-18 16:26:48 -0500
committerGravatar Liam2023-02-21 12:19:25 -0500
commita9369726147c7499e0016e183d5d56a7b44efe4b (patch)
treec1d1b4a9fdafd92863c0922b05d72c14de83ffa7 /src/core/hle/service/lm
parentcore: defer cpu shutdown (diff)
downloadyuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.gz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.xz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.zip
service: refactor server architecture
Converts services to have their own processes
Diffstat (limited to 'src/core/hle/service/lm')
-rw-r--r--src/core/hle/service/lm/lm.cpp8
-rw-r--r--src/core/hle/service/lm/lm.h3
2 files changed, 7 insertions, 4 deletions
diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp
index ef4b54046..7efd8e0ab 100644
--- a/src/core/hle/service/lm/lm.cpp
+++ b/src/core/hle/service/lm/lm.cpp
@@ -10,6 +10,7 @@
10#include "core/core.h" 10#include "core/core.h"
11#include "core/hle/ipc_helpers.h" 11#include "core/hle/ipc_helpers.h"
12#include "core/hle/service/lm/lm.h" 12#include "core/hle/service/lm/lm.h"
13#include "core/hle/service/server_manager.h"
13#include "core/hle/service/service.h" 14#include "core/hle/service/service.h"
14 15
15namespace Service::LM { 16namespace Service::LM {
@@ -351,8 +352,11 @@ private:
351 } 352 }
352}; 353};
353 354
354void InstallInterfaces(Core::System& system) { 355void LoopProcess(Core::System& system) {
355 std::make_shared<LM>(system)->InstallAsService(system.ServiceManager()); 356 auto server_manager = std::make_unique<ServerManager>(system);
357
358 server_manager->RegisterNamedService("lm", std::make_shared<LM>(system));
359 ServerManager::RunServer(std::move(server_manager));
356} 360}
357 361
358} // namespace Service::LM 362} // namespace Service::LM
diff --git a/src/core/hle/service/lm/lm.h b/src/core/hle/service/lm/lm.h
index 266019c30..0d7c39cbc 100644
--- a/src/core/hle/service/lm/lm.h
+++ b/src/core/hle/service/lm/lm.h
@@ -9,7 +9,6 @@ class System;
9 9
10namespace Service::LM { 10namespace Service::LM {
11 11
12/// Registers all LM services with the specified service manager. 12void LoopProcess(Core::System& system);
13void InstallInterfaces(Core::System& system);
14 13
15} // namespace Service::LM 14} // namespace Service::LM