TelnetServer: Defer removal of client from clients HashMap

This is necessary to avoid trying to destruct the on_ready_to_read
function from inside the function.
This commit is contained in:
Brendan Coles 2021-10-23 11:47:34 +00:00 committed by Andreas Kling
commit f4c181da9d
Notes: sideshowbarker 2024-07-18 02:01:28 +09:00

View file

@ -135,7 +135,9 @@ int main(int argc, char** argv)
run_command(ptm_fd, command); run_command(ptm_fd, command);
auto client = Client::create(id, move(client_socket), ptm_fd); auto client = Client::create(id, move(client_socket), ptm_fd);
client->on_exit = [&clients, id] { clients.remove(id); }; client->on_exit = [&clients, id] {
Core::deferred_invoke([&clients, id] { clients.remove(id); });
};
clients.set(id, client); clients.set(id, client);
}; };