X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fmain.cpp;h=ee4c4bdd8b656e3d90163ef5ca5f37b6058f90de;hb=f62654a6859998f9d63eb22702c572d5ebcff15c;hp=8a1aed08fbc73c7f3f05567e1b554acefb4d1619;hpb=e5ada400b0f2e2ae02f40867450a6789126da6e3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 8a1aed08f..ee4c4bdd8 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -421,11 +421,6 @@ ModResult ModuleSpanningTree::HandleConnect(const std::vector& para return MOD_RES_DENY; } -void ModuleSpanningTree::On005Numeric(std::map& tokens) -{ - tokens["MAP"]; -} - void ModuleSpanningTree::OnUserInvite(User* source,User* dest,Channel* channel, time_t expiry) { if (IS_LOCAL(source)) @@ -699,6 +694,7 @@ void ModuleSpanningTree::OnUnloadModule(Module* mod) return; ServerInstance->PI->SendMetaData("modules", "-" + mod->ModuleSourceFile); +restart: // Close all connections which use an IO hook provided by this module const TreeServer::ChildServers& list = Utils->TreeRoot->GetChildren(); for (TreeServer::ChildServers::const_iterator i = list.begin(); i != list.end(); ++i) @@ -708,6 +704,8 @@ void ModuleSpanningTree::OnUnloadModule(Module* mod) { sock->SendError("SSL module unloaded"); sock->Close(); + // XXX: The list we're iterating is modified by TreeSocket::Squit() which is called by Close() + goto restart; } }