summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/main.cpp10
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp6
2 files changed, 6 insertions, 10 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index bfce80589..a6b0f3a40 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -192,16 +192,6 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime)
{
TreeServer *s = i->second;
- if (s->bursting)
- {
- unsigned long bursttime = ts - s->StartBurst;
- if (bursttime > 60000) // A minute
- {
- ServerInstance->SNO->WriteToSnoMask('l',"Server \002%s\002 has not finished burst, forcing end of burst.", s->GetName().c_str());
- s->FinishBurst();
- }
- }
-
// Now do PING checks on all servers
TreeServer *mts = Utils->BestRouteTo(s->GetID());
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 912959b4e..f2679518e 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -399,6 +399,12 @@ bool TreeSocket::ProcessLine(std::string &line)
}
else if (command == "PONG")
{
+ TreeServer *s = Utils->FindServer(prefix);
+ if (s && s->bursting)
+ {
+ Instance->SNO->WriteToSnoMask('l',"Server \002%s\002 has not finished burst, forcing end of burst (send ENDBURST!)", prefix.c_str());
+ s->FinishBurst();
+ }
return this->LocalPong(prefix,params);
}
else if (command == "VERSION")