summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index aef7b09e6..a26b5e4c7 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -716,6 +716,8 @@ bool InspIRCd::LoadModule(const char* filename)
void InspIRCd::DoOneIteration(bool process_module_sockets)
{
+ static rusage ru;
+
/* time() seems to be a pretty expensive syscall, so avoid calling it too much.
* Once per loop iteration is pleanty.
*/
@@ -744,6 +746,12 @@ void InspIRCd::DoOneIteration(bool process_module_sockets)
FOREACH_MOD_I(this,I_OnBackgroundTimer,OnBackgroundTimer(TIME));
Timers->TickMissedTimers(TIME);
}
+
+ if (!getrusage(0, &ru))
+ {
+ gettimeofday(&this->stats->LastSampled, NULL);
+ this->stats->LastCPU = ru.ru_utime;
+ }
}
/* Call the socket engine to wait on the active