summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-06 17:24:10 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-06 17:24:10 +0000
commit41c2064746c1126b26ad14fc5a78a6e8d25bf37c (patch)
treea3ca0f633492fa0837e0a9d1ba901c9c180e9c3c
parent134cff821ec958727ab081130094ba746d7bb759 (diff)
For some reason there was a FinishBurst in the encap command, which was sending spurious end of burst messages
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9379 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree/treeserver.cpp22
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp1
2 files changed, 12 insertions, 11 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp
index db26b3f88..a02bc57ca 100644
--- a/src/modules/m_spanningtree/treeserver.cpp
+++ b/src/modules/m_spanningtree/treeserver.cpp
@@ -142,16 +142,18 @@ 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)
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index c2bd83e53..40cee5854 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -517,7 +517,6 @@ bool TreeSocket::ProcessLine(std::string &line)
}
else if (command == "ENCAP")
{
- ServerSource->FinishBurst();
return this->Encap(prefix, params);
}
else if (command == "MODE")