From 3e424d81aa09299f2bbd6e6d16a85ba421215056 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 1 Jun 2024 17:45:01 +0800 Subject: [PATCH] 1 --- server/gameserver/GGListener.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/gameserver/GGListener.cc b/server/gameserver/GGListener.cc index a599038f..5e774d41 100644 --- a/server/gameserver/GGListener.cc +++ b/server/gameserver/GGListener.cc @@ -249,5 +249,17 @@ void GGListener::RemoveSocketDisconnectHandler(std::weak_ptr> del_handlers; + SocketDisconnectHandler *handle = nullptr, *tmp = nullptr; + list_for_each_entry_safe(handle, tmp, &itr->second, entry) { + del_handlers.push_back(handle->holder); + handle->cb(a8::Args({itr->first})); + } + for (auto handler : del_handlers) { + RemoveSocketDisconnectHandler(handler); + } + } PlayerMgr::Instance()->OnClientDisconnect(socket_handle); }