]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
timermanager never had a ServerInstance. Give it one so we can use InspIRCd::Time...
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sat, 10 Feb 2007 15:05:00 +0000 (15:05 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sat, 10 Feb 2007 15:05:00 +0000 (15:05 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6561 e03df62e-2008-0410-955e-edbf42e46eb7

include/timer.h
src/inspircd.cpp
src/timer.cpp

index dbf83c2c8b03e984a9cdb996e2fb3d0ff9e87870..e28987234580bbb547903da2825a3328b53cbe02 100644 (file)
@@ -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
index 8f9bb4589f39543bc88f383ab7deba9169e0fec0..c7e261e3b4cefc28e9a20ccf84a633d58d7b60d4 100644 (file)
@@ -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();
index 63c7b58747b793f01b98dde036bc2c05066913e8..c041075025321e04fc5aa8cd8b2e20fb64a11fc3 100644 (file)
@@ -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);