diff --git a/server/gameserver/GGListener.cc b/server/gameserver/GGListener.cc index 9f4be1e8..7a546059 100644 --- a/server/gameserver/GGListener.cc +++ b/server/gameserver/GGListener.cc @@ -264,6 +264,7 @@ void GGListener::OnClientDisconnect(int socket_handle) for (auto& handler_wp : del_handlers) { if (!handler_wp.expired()) { handler_wp.lock()->cb(a8::Args({socket_handle})); + RemoveSocketDisconnectHandler(handler_wp); } } disconnect_listener_hash_.erase(itr);