aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGravatar brain2006-03-07 20:21:54 +0000
committerGravatar brain2006-03-07 20:21:54 +0000
commit003fa072fcc5cb2349ceee6798efaaaa1e63d64f (patch)
treefb43a6dd1c0e1ce3160dbe23327ef75bbb615dd5 /include
parentBuffer flush time now under 0.5 secs (diff)
Safety checking (a really really clever trick btw) in CullList, to make sure that the user we're removing IS the user that was marked for deletion X seconds ago, even if the user has since quit, to be replaced by another unfortunate wretch who was given the same pointer address (eeep)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3529 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/cull_list.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/cull_list.h b/include/cull_list.h
index 36a8886a0..cc0f01c06 100644
--- a/include/cull_list.h
+++ b/include/cull_list.h
@@ -82,9 +82,12 @@ class CullList
std::vector<CullItem> list;
/** A list of users who have already been
* placed on the list, as a map for fast
- * reference.
+ * reference. When deleting an item, the
+ * time_t value stored here must match
+ * the one of the actual userrec, otherwise
+ * we don't delete it (its a different user)
*/
- std::map<userrec*,int> exempt;
+ std::map<userrec*,time_t> exempt;
/** Check if a user pointer is valid
* (e.g. it exists in the user hash)