aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/main.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2019-11-13 15:24:45 +0000
committerGravatar Sadie Powell2019-11-13 15:24:45 +0000
commit7b689363218f1f7cd8d07c4ec3eaf03788b196c1 (patch)
tree37bb397e948eac74cbd96a7e6ab637837622ffa0 /src/modules/m_spanningtree/main.cpp
parentMerge branch 'insp3' into master. (diff)
parentImprove the logic around connecting to a MySQL server. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_spanningtree/main.cpp')
-rw-r--r--src/modules/m_spanningtree/main.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index baad0d8ff..488c7cb03 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -689,7 +689,7 @@ void ModuleSpanningTree::OnUnloadModule(Module* mod)
{
TreeServer* server = i->second;
if (!server->IsRoot())
- FOREACH_MOD_CUSTOM(GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (server));
+ FOREACH_MOD_CUSTOM(GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (server, false));
}
return;
}
@@ -793,6 +793,13 @@ void ModuleSpanningTree::OnMode(User* source, User* u, Channel* c, const Modes::
}
}
+void ModuleSpanningTree::OnShutdown(const std::string& reason)
+{
+ const TreeServer::ChildServers& children = Utils->TreeRoot->GetChildren();
+ while (!children.empty())
+ children.front()->SQuit(reason, true);
+}
+
CullResult ModuleSpanningTree::cull()
{
if (Utils)
@@ -804,7 +811,7 @@ ModuleSpanningTree::~ModuleSpanningTree()
{
ServerInstance->PI = &ServerInstance->DefaultProtocolInterface;
- Server* newsrv = new Server(ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc);
+ Server* newsrv = new Server(ServerInstance->Config->GetSID(), ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc);
SetLocalUsersServer(newsrv);
delete Utils;