/*
* This file contains miscellaneous housekeeping tasks.
*
- * Copyright (c) 1987-2018 by the citadel.org team
+ * Copyright (c) 1987-2021 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 3.
/*
* Provide hints as to whether we have any memory leaks
*/
-void keep_an_eye_on_memory_usage(void)
-{
+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)); // FIXME not so noisy please
end_critical_section(S_HOUSEKEEPING);
now = time(NULL);
- if (do_housekeeping_now == 0) {
+ if ( (do_housekeeping_now == 0) && (!CtdlIsSingleUser()) ) {
if ( (now - last_timer) > (time_t)300 ) {
syslog(LOG_WARNING,
"housekeeping: WARNING: housekeeping loop has not run for %ld minutes. Is something stuck?",
}
-void CtdlDisableHouseKeeping(void)
-{
+void CtdlDisableHouseKeeping(void) {
int ActiveBackgroundJobs;
int do_housekeeping_now = 0;
struct CitContext *nptr;
}
-void CtdlEnableHouseKeeping(void)
-{
+void CtdlEnableHouseKeeping(void) {
begin_critical_section(S_HOUSEKEEPING);
housekeeping_in_progress = 0;
end_critical_section(S_HOUSEKEEPING);