From 74c8913f72e6d48c88a01155ef5fe5ca20cc2bb1 Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 23 Dec 2006 23:06:37 +0000 Subject: Hash rehashing change git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cull_list.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'src/cull_list.cpp') diff --git a/src/cull_list.cpp b/src/cull_list.cpp index 628c80019..b19054b0d 100644 --- a/src/cull_list.cpp +++ b/src/cull_list.cpp @@ -25,22 +25,8 @@ bool CullList::IsValid(userrec* user) if (es != exempt.end()) esignon = es->second; - for (user_hash::iterator u = ServerInstance->clientlist.begin(); u != ServerInstance->clientlist.end(); u++) + for (user_hash::iterator u = ServerInstance->clientlist->begin(); u != ServerInstance->clientlist->end(); u++) { - /* - * BUGFIX - * - * Because there is an undetermined period of time between a user existing, - * and this function being called, we have to check for the following condition: - * - * Between CullList::AddItem(u) being called, and CullList::IsValid(u) being called, - * the user with the pointer u has quit, but only to be REPLACED WITH A NEW USER WHO - * BECAUSE OF ALLOCATION RULES, HAS THE SAME MEMORY ADDRESS! To prevent this, we - * cross reference each pointer to the user's signon time, and if the signon times - * do not match, we return false here to indicate this user is NOT valid as it - * seems to differ from the pointer snapshot we got a few seconds earlier. Should - * prevent a few random crashes during netsplits. - */ if (user == u->second) return (u->second->signon == esignon); } -- cgit v1.2.3