mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-12 20:19:02 -04:00
Only tick the timer when there are people doing /LIST, as suggested by special
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5461 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
ef70178ea4
commit
0769519487
@ -136,24 +136,30 @@ class ListTimer : public InspTimer
|
||||
}
|
||||
}
|
||||
|
||||
timer = new ListTimer(ServerInstance,1);
|
||||
ServerInstance->Timers->AddTimer(timer);
|
||||
if (listusers.size())
|
||||
{
|
||||
timer = new ListTimer(ServerInstance,1);
|
||||
ServerInstance->Timers->AddTimer(timer);
|
||||
}
|
||||
else
|
||||
{
|
||||
timer = NULL;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class ModuleSafeList : public Module
|
||||
{
|
||||
private:
|
||||
public:
|
||||
ModuleSafeList(InspIRCd* Me) : Module::Module(Me)
|
||||
{
|
||||
timer = new ListTimer(ServerInstance,1);
|
||||
ServerInstance->Timers->AddTimer(timer);
|
||||
timer = NULL;
|
||||
}
|
||||
|
||||
virtual ~ModuleSafeList()
|
||||
{
|
||||
ServerInstance->Timers->DelTimer(timer);
|
||||
if (timer)
|
||||
ServerInstance->Timers->DelTimer(timer);
|
||||
}
|
||||
|
||||
virtual Version GetVersion()
|
||||
@ -223,7 +229,13 @@ class ModuleSafeList : public Module
|
||||
time_t* llt = new time_t;
|
||||
*llt = ServerInstance->Time();
|
||||
user->Extend("safelist_last", llt);
|
||||
|
||||
|
||||
if (!timer)
|
||||
{
|
||||
timer = new ListTimer(ServerInstance,1);
|
||||
ServerInstance->Timers->AddTimer(timer);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user