summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_spanningtree/treeserver.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp
index 3a7d8c4a9..3adbcb530 100644
--- a/src/modules/m_spanningtree/treeserver.cpp
+++ b/src/modules/m_spanningtree/treeserver.cpp
@@ -129,9 +129,11 @@ const std::string& TreeServer::GetID()
void TreeServer::FinishBurstInternal()
{
- StartBurst = 0;
- SetNextPingTime(ServerInstance->Time() + Utils->PingFreq);
- SetPingFlag();
+ if (!IsBursting())
+ {
+ SetNextPingTime(ServerInstance->Time() + Utils->PingFreq);
+ SetPingFlag();
+ }
for (ChildServers::const_iterator i = Children.begin(); i != Children.end(); ++i)
{
TreeServer* child = *i;
@@ -148,6 +150,7 @@ void TreeServer::FinishBurst()
GetName().c_str(), (bursttime > 10000 ? bursttime / 1000 : bursttime), (bursttime > 10000 ? "secs" : "msecs"));
AddServerEvent(Utils->Creator, GetName());
+ StartBurst = 0;
FinishBurstInternal();
}