From de3871ce941ab3dc97cebb7a296c828428ab39a0 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Sun, 10 Oct 2010 00:46:55 -0400 Subject: Rewrite TreeSocket timeout and lifecycle management --- src/modules/m_spanningtree/utils.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/modules/m_spanningtree/utils.cpp') diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index a0c7ef337..ca8ea8288 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -32,8 +32,9 @@ StreamSocket* ModuleSpanningTree::OnAcceptConnection(int newsock, ListenSocket* { if (*i == "*" || *i == incomingip || irc::sockets::cidr_mask(*i).match(*client)) { - /* we don't need to do anything with the pointer, creating it stores it in the necessary places */ - return new TreeSocket(Utils, newsock, from, client, server); + TreeSocket* sock = new TreeSocket(Utils, newsock, from, client, server); + Utils->Connections.push_back(sock); + return sock; } } ServerInstance->SNO->WriteToSnoMask('l', "Server connection from %s denied (no link blocks with that IP address)", incomingip.c_str()); @@ -111,10 +112,9 @@ CullResult SpanningTreeUtilities::cull() } } - for(std::map >::iterator i = timeoutlist.begin(); i != timeoutlist.end(); ++i) + for(size_t i = 0; i < Connections.size(); i++) { - TreeSocket* s = i->first; - s->Close(); + Connections[i]->Close(); } TreeRoot->cull(); -- cgit v1.3.1-10-gc9f91