diff options
-rw-r--r-- | include/timer.h | 5 | ||||
-rw-r--r-- | src/inspircd.cpp | 2 | ||||
-rw-r--r-- | src/timer.cpp | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/include/timer.h b/include/timer.h index dbf83c2c8..e28987234 100644 --- a/include/timer.h +++ b/include/timer.h @@ -14,6 +14,8 @@ #ifndef INSPIRCD_TIMER_H #define INSPIRCD_TIMER_H +class InspIRCd; + /** Timer class for one-second resolution timers * InspTimer provides a facility which allows module * developers to create one-shot timers. The timer @@ -114,6 +116,9 @@ class TimerManager : public Extensible /** Set when ticking timers, to prevent deletion while iterating */ bool CantDeleteHere; + /** Creating server instance + */ + InspIRCd* ServerInstance; private: /** The current timer set, a map of timergroups diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 8f9bb4589..c7e261e3b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -346,7 +346,7 @@ InspIRCd::InspIRCd(int argc, char** argv) this->OpenLog(argv, argc); this->stats = new serverstats(); - this->Timers = new TimerManager(); + this->Timers = new TimerManager(this); this->Parser = new CommandParser(this); this->XLines = new XLineManager(this); Config->ClearStack(); diff --git a/src/timer.cpp b/src/timer.cpp index 63c7b5874..c04107502 100644 --- a/src/timer.cpp +++ b/src/timer.cpp @@ -14,7 +14,7 @@ #include "inspircd.h" #include "timer.h" -TimerManager::TimerManager() : CantDeleteHere(false) +TimerManager::TimerManager(InspIRCd* Instance) : CantDeleteHere(false), ServerInstance(Instance) { } @@ -116,7 +116,7 @@ void TimerManager::AddTimer(InspTimer* T, long secs_from_now) if (!secs_from_now) time_to_trigger = T->GetTimer(); else - time_to_trigger = secs_from_now + time(NULL); + time_to_trigger = secs_from_now + ServerInstance->Time(); timerlist::iterator found = Timers.find(time_to_trigger); |