summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inspircd.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index e2d3f8dff..4d4c9a6ea 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -135,6 +135,21 @@ namespace
#endif
}
+ // Checks whether the server clock has skipped too much and warn about it if it has.
+ void CheckTimeSkip(time_t oldtime, time_t newtime)
+ {
+ if (!ServerInstance->Config->TimeSkipWarn)
+ return;
+
+ time_t timediff = oldtime - newtime;
+
+ if (timediff > ServerInstance->Config->TimeSkipWarn)
+ ServerInstance->SNO->WriteToSnoMask('a', "\002Performance warning!\002 Server clock jumped forwards by %lu seconds!", timediff);
+
+ else if (timediff < -ServerInstance->Config->TimeSkipWarn)
+ ServerInstance->SNO->WriteToSnoMask('a', "\002Performance warning!\002 Server clock jumped backwards by %lu seconds!", labs(timediff));
+ }
+
// Drops to the unprivileged user/group specified in <security:runas{user,group}>.
void DropRoot()
{
@@ -667,17 +682,7 @@ void InspIRCd::Run()
if (TIME.tv_sec != OLDTIME)
{
CollectStats();
-
- if (Config->TimeSkipWarn)
- {
- time_t timediff = TIME.tv_sec - OLDTIME;
-
- if (timediff > Config->TimeSkipWarn)
- SNO->WriteToSnoMask('a', "\002Performance warning!\002 Server clock jumped forwards by %lu seconds!", timediff);
-
- else if (timediff < -Config->TimeSkipWarn)
- SNO->WriteToSnoMask('a', "\002Performance warning!\002 Server clock jumped backwards by %lu seconds!", labs(timediff));
- }
+ CheckTimeSkip(OLDTIME, TIME.tv_sec);
OLDTIME = TIME.tv_sec;