diff options
| -rw-r--r-- | include/libsock/server/client.hpp | 3 | ||||
| -rw-r--r-- | src/server/clients.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/libsock/server/client.hpp b/include/libsock/server/client.hpp index 3ed4516..babcffe 100644 --- a/include/libsock/server/client.hpp +++ b/include/libsock/server/client.hpp @@ -36,7 +36,6 @@ inline SP<Clients> pClients; class Client { public: - Client(SP<Server> server = SP<Server>(pServer), SP<Clients> clients = pClients, bool track = false, bool oneShot = true); ~Client(); const std::string &getIp() const; @@ -53,6 +52,8 @@ class Client { bool isValid(); private: + Client(SP<Server> server = SP<Server>(pServer), SP<Clients> clients = pClients, bool track = false, bool oneShot = true); + WP<Client> self; SP<LibSock::CFileDescriptor> m_sockfd; sockaddr_in m_addr; diff --git a/src/server/clients.cpp b/src/server/clients.cpp index 4d6308e..01e6d35 100644 --- a/src/server/clients.cpp +++ b/src/server/clients.cpp @@ -45,7 +45,7 @@ Clients::~Clients() { } WP<Client> Clients::newClient(std::optional<std::function<std::any(WP<Client>)>> cb) { - SP client = std::make_shared<Client>(); + SP client = SP<Client>(new Client()); auto &instance = m_vClients.emplace_back(std::jthread([client]() { client->run(); }), client); instance.second->self = std::weak_ptr<Client>(instance.second); if (cb) |
