From cee3a37ecb98d5a88f35e59459843c801ccd1327 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 15 Aug 2026 04:45:44 +0000 Subject: [PATCH] need the extra threads... --- src/core/hle/service/server_manager.cpp | 7 +++++++ src/core/hle/service/server_manager.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/core/hle/service/server_manager.cpp b/src/core/hle/service/server_manager.cpp index 9e97cd3378..9bc9c7c571 100644 --- a/src/core/hle/service/server_manager.cpp +++ b/src/core/hle/service/server_manager.cpp @@ -129,6 +129,13 @@ ServerManager::~ServerManager() { } } +void ServerManager::StartAdditionalHostThreads(const char* name, size_t num_threads) { + for (size_t i = 0; i < num_threads; i++) { + auto thread_name = fmt::format("{}:{}", name, i + 1); + m_threads.emplace_back(m_system.Kernel().RunOnHostCoreThread(std::move(thread_name), [&] { this->LoopProcessImpl(); })); + } +} + void ServerManager::RunServer(std::unique_ptr&& server_manager) { server_manager->m_system.RunServer(std::move(server_manager)); } diff --git a/src/core/hle/service/server_manager.h b/src/core/hle/service/server_manager.h index 5525c3838a..fa2ece2b39 100644 --- a/src/core/hle/service/server_manager.h +++ b/src/core/hle/service/server_manager.h @@ -52,6 +52,7 @@ public: Result LoopProcess(); + void StartAdditionalHostThreads(const char* name, size_t num_threads); static void RunServer(std::unique_ptr&& server); private: