syslogd: avoid spurious ftrunctate() calls for "-b 0"
Forgetting to re-set log_file->size after truncating to zero
discards log-data for the next 1 second following an oversize-induced purge,
when we shouldn't necessarily throw that data away.
Signed-off-by: Joshua Judson Rosen <jrosen@harvestai.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index a6a4ff2..2c959ff 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -663,7 +663,13 @@
close(log_file->fd);
goto reopen;
}
+
+ /* We don't get here unless G.logFileRotate == 0;
+ * in which case don't bother unlinking and reopening,
+ * just truncate and reset size to match:
+ */
ftruncate(log_file->fd, 0);
+ log_file->size = 0;
}
log_file->size +=
#endif