summaryrefslogtreecommitdiff
path: root/include/channels.h
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2015-09-17 10:07:30 -0400
committerAdam <Adam@anope.org>2015-09-17 10:07:30 -0400
commit1ac4a1d9a56141d18b3e8a32fe165535031a4c67 (patch)
tree5ee8af16acaaad7307732213afaf9eaa333a76d2 /include/channels.h
parent8d13a355cd9b851b5cf9f6012c77b2af68a039f1 (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.h4
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