, messageeventprov(this, "event/server-message")
, synceventprov(this, "event/server-sync")
, sslapi(this)
+ , servicetag(this)
, DNS(this, "DNS")
- , tagevprov(this, "event/messagetag")
+ , tagevprov(this)
, loopCall(false)
{
}
{
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;
}
}
}
+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)
{
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;