void keep_an_eye_on_memory_usage(void) {
static void *original_brk = NULL;
if (!original_brk) original_brk = sbrk(0); // Remember the original program break so we can test for leaks
- syslog(LOG_DEBUG, "original_brk=%lx, current_brk=%lx, addl=%ld", (long)original_brk, (long)sbrk(0), (long)(sbrk(0)-original_brk));
+ syslog(LOG_DEBUG, "Additional memory allocated since startup: %d bytes", (sbrk(0)-original_brk));
}
int do_perminute_housekeeping_now = 0;
time_t now;
- if (housekeeping_disabled) {
+ if ( (housekeeping_disabled) || (housekeeping_in_progress) ) {
return;
}
return;
}
+ if (!do_housekeeping_now) {
+ return;
+ }
+
// Ok, at this point we've made the decision to run the housekeeping
// loop. Everything below this point is real work.