summaryrefslogtreecommitdiff
path: root/src/cull_list.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 23:06:37 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 23:06:37 +0000
commit74c8913f72e6d48c88a01155ef5fe5ca20cc2bb1 (patch)
tree500634864eb634a89af543a3f8b6f663543f5589 /src/cull_list.cpp
parent6cc7cd76fbc809d6c0df55c061684581e31b6ebc (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.cpp16
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);
}