From 1ac4a1d9a56141d18b3e8a32fe165535031a4c67 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 17 Sep 2015 10:07:30 -0400 Subject: Defer channel deletion until after i/o. There are some edge cases with events kicking users mid-event that can delete them. --- include/channels.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/channels.h b/include/channels.h index 80459d357..23867c792 100644 --- a/include/channels.h +++ b/include/channels.h @@ -32,6 +32,8 @@ struct ChanUserContainer : public Extensible class CoreExport Channel : public Base, public Extensible { + static std::vector deleting; + public: typedef std::multimap ModeList; private: @@ -300,6 +302,8 @@ class CoreExport Channel : public Base, public Extensible * @param ts The time the channel was created */ static Channel *FindOrCreate(const Anope::string &name, bool &created, time_t ts = Anope::CurTime); + + static void DeleteChannels(); }; #endif // CHANNELS_H -- cgit