diff options
author | Adam <Adam@anope.org> | 2015-09-17 10:07:30 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2015-09-17 10:07:30 -0400 |
commit | 1ac4a1d9a56141d18b3e8a32fe165535031a4c67 (patch) | |
tree | 5ee8af16acaaad7307732213afaf9eaa333a76d2 /include/channels.h | |
parent | 8d13a355cd9b851b5cf9f6012c77b2af68a039f1 (diff) |
Defer channel deletion until after i/o. There are some edge cases with events kicking users mid-event that can delete them.
Diffstat (limited to 'include/channels.h')
-rw-r--r-- | include/channels.h | 4 |
1 files changed, 4 insertions, 0 deletions
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<Channel *> deleting; + public: typedef std::multimap<Anope::string, Anope::string> 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 |