return Version(cmd.name, VF_VENDOR|VF_CORE);
}
};
+
+inline void stdalgo::culldeleter::operator()(classbase* item)
+{
+ if (item)
+ ServerInstance->GlobalCulls.AddItem(item);
+}
delete o;
}
};
+
+ /**
+ * Deleter that adds the item to the cull list, that is, queues it for
+ * deletion at the end of the current mainloop iteration
+ */
+ struct culldeleter
+ {
+ void operator()(classbase* item);
+ };
}
class ModuleIdent : public Module
{
int RequestTimeout;
- SimpleExtItem<IdentRequestSocket> ext;
+ SimpleExtItem<IdentRequestSocket, stdalgo::culldeleter> ext;
public:
ModuleIdent() : ext("ident_socket", this)
{