diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 23:06:37 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 23:06:37 +0000 |
commit | 74c8913f72e6d48c88a01155ef5fe5ca20cc2bb1 (patch) | |
tree | 500634864eb634a89af543a3f8b6f663543f5589 /src/cull_list.cpp | |
parent | 6cc7cd76fbc809d6c0df55c061684581e31b6ebc (diff) |
Hash rehashing change
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/cull_list.cpp')
-rw-r--r-- | src/cull_list.cpp | 16 |
1 files changed, 1 insertions, 15 deletions
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); } |