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
parent f645ed199e
commit f4c181da9d

View file

@ -135,7 +135,9 @@ int main(int argc, char** argv)
run_command(ptm_fd, command);
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);
};