summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-27 19:47:33 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-27 19:47:33 +0000
commita215177f3179f8a47a7d5a669467334c5b8e40ec (patch)
treed8e86976cf465142c3dc125f3b11252f94a5cb6b /src/modules
parent97889f57c170ef2d3fe86c72f518948a9a7cb7a1 (diff)
Don't force-finish a burst on a timer, instead, set bursted if a PONG is recieved while still bursting (obviously wrong).
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10326 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-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")