diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-05 16:04:36 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-05 16:04:36 +0000 |
commit | 9b3aaf360202afd96ea968a3607fe535aab9fbc5 (patch) | |
tree | 1094c902fc9c0b587bbbd5e134421d7862a4958a /src/modules/m_spanningtree | |
parent | c72e36b0077b911d91139cb43f66b5cae07ca145 (diff) |
Only finish bursting once, thanks AnMaster
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9355 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/treeserver.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp index db26b3f88..dd81a575e 100644 --- a/src/modules/m_spanningtree/treeserver.cpp +++ b/src/modules/m_spanningtree/treeserver.cpp @@ -142,16 +142,19 @@ std::string& TreeServer::GetID() void TreeServer::FinishBurst() { - this->bursting = false; - ServerInstance->XLines->ApplyLines(); - timeval t; - gettimeofday(&t, NULL); - long ts = (t.tv_sec * 1000) + (t.tv_usec / 1000); - unsigned long bursttime = ts - this->StartBurst; - ServerInstance->SNO->WriteToSnoMask('l', "Received end of netburst from \2%s\2 (burst time: %lu %s)", ServerName.c_str(), - (bursttime > 1000 ? bursttime / 1000 : bursttime), (bursttime > 1000 ? "secs" : "msecs")); - Event rmode((char*)ServerName.c_str(), (Module*)Utils->Creator, "new_server"); - rmode.Send(ServerInstance); + if (!this->bursting) + { + this->bursting = false; + ServerInstance->XLines->ApplyLines(); + timeval t; + gettimeofday(&t, NULL); + long ts = (t.tv_sec * 1000) + (t.tv_usec / 1000); + unsigned long bursttime = ts - this->StartBurst; + ServerInstance->SNO->WriteToSnoMask('l', "Received end of netburst from \2%s\2 (burst time: %lu %s)", ServerName.c_str(), + (bursttime > 1000 ? bursttime / 1000 : bursttime), (bursttime > 1000 ? "secs" : "msecs")); + Event rmode((char*)ServerName.c_str(), (Module*)Utils->Creator, "new_server"); + rmode.Send(ServerInstance); + } } void TreeServer::SetID(const std::string &id) |