diff options
author | Peter Powell <petpow@saberuk.com> | 2019-09-23 11:51:09 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2019-09-23 13:18:19 +0100 |
commit | cf5d382b822cecd54fdbc77e4c1c4de8a8aa3c35 (patch) | |
tree | f05c9f3c3acfc863dd053abacde791f32fa216f1 /src/modules/m_spanningtree/treeserver.cpp | |
parent | a4305d8f3c3e613be839bdcd61a1d14c87fed5aa (diff) |
Add whether the server split with an error to OnServerSplit.
Diffstat (limited to 'src/modules/m_spanningtree/treeserver.cpp')
-rw-r--r-- | src/modules/m_spanningtree/treeserver.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp index 2b143269c..c463ef1c8 100644 --- a/src/modules/m_spanningtree/treeserver.cpp +++ b/src/modules/m_spanningtree/treeserver.cpp @@ -172,7 +172,7 @@ void TreeServer::FinishBurst() FinishBurstInternal(); } -void TreeServer::SQuitChild(TreeServer* server, const std::string& reason) +void TreeServer::SQuitChild(TreeServer* server, const std::string& reason, bool error) { stdalgo::erase(Children, server); @@ -188,7 +188,7 @@ void TreeServer::SQuitChild(TreeServer* server, const std::string& reason) } unsigned int num_lost_servers = 0; - server->SQuitInternal(num_lost_servers); + server->SQuitInternal(num_lost_servers, error); const std::string quitreason = GetName() + " " + server->GetName(); unsigned int num_lost_users = QuitUsers(quitreason); @@ -204,14 +204,14 @@ void TreeServer::SQuitChild(TreeServer* server, const std::string& reason) ServerInstance->GlobalCulls.AddItem(server); } -void TreeServer::SQuitInternal(unsigned int& num_lost_servers) +void TreeServer::SQuitInternal(unsigned int& num_lost_servers, bool error) { ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Server %s lost in split", GetName().c_str()); for (ChildServers::const_iterator i = Children.begin(); i != Children.end(); ++i) { TreeServer* server = *i; - server->SQuitInternal(num_lost_servers); + server->SQuitInternal(num_lost_servers, error); } // Mark server as dead @@ -220,7 +220,7 @@ void TreeServer::SQuitInternal(unsigned int& num_lost_servers) RemoveHash(); if (!Utils->Creator->dying) - FOREACH_MOD_CUSTOM(Utils->Creator->GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (this)); + FOREACH_MOD_CUSTOM(Utils->Creator->GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (this, error)); } unsigned int TreeServer::QuitUsers(const std::string& reason) |