diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-03-18 10:22:38 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-03-18 10:22:38 +0000 |
commit | 876fb4786191b9d88994cfc981a22aa075bca153 (patch) | |
tree | 1f888ac2158cb0619a87d1097e69615f4176139f /src/modules/m_spanningtree | |
parent | 15de65e1e40faaef7314fa56153d3187c42f40db (diff) |
Fix for bug #792 reported by recyclebin, do not attempt to ping local servers which are not fully connected yet, thanks!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11230 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 85d4dc094..6f5a424ff 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -192,6 +192,12 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime) { TreeServer *s = i->second; + // Fix for bug #792, do not ping servers that are not connected yet! + // Remote servers have Socket == NULL and local connected servers have + // Socket->LinkState == CONNECTED + if (!s->GetSocket() || s->GetSocket()->GetLinkState() == CONNECTED) + continue; + // Now do PING checks on all servers TreeServer *mts = Utils->BestRouteTo(s->GetID()); |