bool TreeServer::DelChild(TreeServer* Child)
{
- std::vector<TreeServer*>::iterator it = std::find(Children.begin(), Children.end(), Child);
- if (it != Children.end())
- {
- Children.erase(it);
- return true;
- }
- return false;
+ return stdalgo::erase(Children, Child);
}
CullResult TreeServer::cull()
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());
}