diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-27 19:47:33 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-27 19:47:33 +0000 |
commit | a215177f3179f8a47a7d5a669467334c5b8e40ec (patch) | |
tree | d8e86976cf465142c3dc125f3b11252f94a5cb6b /src/modules/m_spanningtree | |
parent | 97889f57c170ef2d3fe86c72f518948a9a7cb7a1 (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/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 10 | ||||
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 6 |
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") |