diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-06-21 21:05:58 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-06-22 11:13:20 +0800 |
| commit | 3e11125a1694d61fb0bd578783437acfca8eacc3 (patch) | |
| tree | 85696acd65b6910db6b15edf20040cf0c0c426c8 /src/server/clients.cpp | |
| parent | cb63d849df275eb16ab8d9bea8414f342ba22c2f (diff) | |
API(server/clients:newClient): actually use the cb func user provided for client thread
Diffstat (limited to 'src/server/clients.cpp')
| -rw-r--r-- | src/server/clients.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/server/clients.cpp b/src/server/clients.cpp index 6f3f4e4..2bf82b4 100644 --- a/src/server/clients.cpp +++ b/src/server/clients.cpp @@ -58,12 +58,10 @@ Clients::~Clients() { } } -WP<Client> Clients::newClient(SP<Server> server, std::optional<std::function<std::any(WP<Client>)>> cb) { +WP<Client> Clients::newClient(std::function<std::any(const WP<Client> &)> loopFunc, SP<Server> server) { SP client = SP<Client>(new Client(server, shared_from_this())); - auto &instance = m_vClients.emplace_back(std::jthread([&client]() { client->runLoop(); }), client); + auto &instance = m_vClients.emplace_back(std::jthread([&client, &loopFunc]() { loopFunc(client); }), client); instance.second->self = std::weak_ptr<Client>(instance.second); - if (cb) - (*cb)(instance.second); return instance.second; } |
