diff options
| author | 2019-06-25 15:03:03 +0100 | |
|---|---|---|
| committer | 2019-06-25 16:52:26 +0100 | |
| commit | 02beded762ccc71c7f87ec8bb32b8d614960ab90 (patch) | |
| tree | 9c943a8dfefb31421edc9b8a7994c36aa4722d68 /src/modules/m_xline_db.cpp | |
| parent | permchannels: remove an unused ChanModeReference. (diff) | |
| download | inspircd++-02beded762ccc71c7f87ec8bb32b8d614960ab90.tar.gz inspircd++-02beded762ccc71c7f87ec8bb32b8d614960ab90.tar.bz2 inspircd++-02beded762ccc71c7f87ec8bb32b8d614960ab90.zip | |
Switch permchannels and xline_db from OnBackgroundTimer to a Timer.
Diffstat (limited to 'src/modules/m_xline_db.cpp')
| -rw-r--r-- | src/modules/m_xline_db.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp index 925024aea..00605f259 100644 --- a/src/modules/m_xline_db.cpp +++ b/src/modules/m_xline_db.cpp @@ -22,11 +22,20 @@ #include "xline.h" #include <fstream> -class ModuleXLineDB : public Module +class ModuleXLineDB + : public Module + , public Timer { + private: bool dirty; std::string xlinedbpath; + public: + ModuleXLineDB() + : Timer(0, true) + { + } + void init() CXX11_OVERRIDE { /* Load the configuration @@ -37,6 +46,7 @@ class ModuleXLineDB : public Module */ ConfigTag* Conf = ServerInstance->Config->ConfValue("xlinedb"); xlinedbpath = ServerInstance->Config->Paths.PrependData(Conf->getString("filename", "xline.db")); + SetInterval(Conf->getDuration("saveperiod", 5)); // Read xlines before attaching to events ReadDatabase(); @@ -66,13 +76,14 @@ class ModuleXLineDB : public Module dirty = true; } - void OnBackgroundTimer(time_t now) CXX11_OVERRIDE + bool Tick(time_t) CXX11_OVERRIDE { if (dirty) { if (WriteDatabase()) dirty = false; } + return true; } bool WriteDatabase() |
