diff options
| author | 2014-07-25 12:05:40 +0200 | |
|---|---|---|
| committer | 2014-07-25 12:05:40 +0200 | |
| commit | f62654a6859998f9d63eb22702c572d5ebcff15c (patch) | |
| tree | fd38985a6a7f94658c157da9a6f470d718f34eed /src/modules/m_spanningtree/main.cpp | |
| parent | Update Windows build scripts for the recent build sys changes (diff) | |
| parent | Release v2.0.17 (diff) | |
Merge insp20
Diffstat (limited to 'src/modules/m_spanningtree/main.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/main.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index a17fb203c..ee4c4bdd8 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -694,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) @@ -703,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; } } |
