[PATCH] sysklogd/logread: implement dumpfollow mode of operation
Phil Sutter
phil.sutter at viprinet.com
Tue Mar 3 17:26:22 UTC 2015
This is basically a combination of the default (dump mode) and -f
(follow mode). Specifying -F makes logread first dump the log buffer and
then immediately start following it.
Signed-off-by: Phil Sutter <phil.sutter at viprinet.com>
---
sysklogd/logread.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/sysklogd/logread.c b/sysklogd/logread.c
index bea73d9..1b17a97 100644
--- a/sysklogd/logread.c
+++ b/sysklogd/logread.c
@@ -83,7 +83,10 @@ int logread_main(int argc UNUSED_PARAM, char **argv)
unsigned cur;
int log_semid; /* ipc semaphore id */
int log_shmid; /* ipc shared memory id */
- smallint follow = getopt32(argv, "f");
+ smallint follow, dumpfollow, args = getopt32(argv, "Ff");
+
+ dumpfollow = args & 0x1;
+ follow = args & 0x2;
INIT_G();
@@ -129,7 +132,11 @@ int logread_main(int argc UNUSED_PARAM, char **argv)
printf("cur:%u tail:%u size:%u\n",
cur, shbuf_tail, shbuf_size);
- if (!follow) {
+ if (!follow || dumpfollow) {
+ if (dumpfollow) {
+ follow = 1;
+ dumpfollow = 0;
+ }
/* advance to oldest complete message */
/* find NUL */
cur += strlen(shbuf_data + cur);
--
1.8.5.5
More information about the busybox
mailing list