From 662364f8551b3db2a3cbc0000f2d3eec091d8e07 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Mon, 28 Jul 2014 14:50:28 +0200 Subject: Allow fast sid reuse by erasing fake users from UserManager::uuidlist when the netsplit is handled, not in cull() --- src/modules/m_spanningtree/treeserver.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/modules/m_spanningtree') diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp index 9b92ba988..009478635 100644 --- a/src/modules/m_spanningtree/treeserver.cpp +++ b/src/modules/m_spanningtree/treeserver.cpp @@ -358,6 +358,10 @@ TreeServer::~TreeServer() void TreeServer::RemoveHash() { + // XXX: Erase server from UserManager::uuidlist now, to allow sid reuse in the current main loop + // iteration, before the cull list is applied + ServerInstance->Users->uuidlist.erase(sid); + Utils->sidlist.erase(sid); Utils->serverlist.erase(GetName()); } -- cgit v1.2.3