This commit is contained in:
aozhiwei 2024-03-25 16:38:54 +08:00
parent 6cd0a7d958
commit 497ca5808e

View File

@ -138,9 +138,16 @@ void GGListener::Init()
int gg_socket = args.Get<int>(0);
auto itr = disconnect_listener_hash_.find(gg_socket);
if (itr != disconnect_listener_hash_.end()) {
class SocketDisconnectHandler *handle = nullptr, *tmp = nullptr;
list_for_each_entry_safe(handle, tmp, &itr->second, entry) {
handle->cb(a8::Args({}));
std::vector<std::weak_ptr<SocketDisconnectHandler>> 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({}));
}
}
for (auto handler : del_handlers) {
RemoveSocketDisconnectHandler(handler);
}
}
});