summaryrefslogtreecommitdiff
path: root/src/shared/logs-show.c
diff options
context:
space:
mode:
authorBrandon Philips <brandon@ifup.org>2012-09-03 18:37:46 -0700
committerLennart Poettering <lennart@poettering.net>2012-09-03 19:16:20 -0700
commite268b81e97833a4636dba476056fa936c4da5796 (patch)
tree0169ffa2b346cea9293b8d1fe120140557d21f6e /src/shared/logs-show.c
parent88f89a9b6d25dfcb89691727c8cdaf01f4090b72 (diff)
shared: logs-show: fflush after each output type
journalctl -f redirected to a pipe or file wasn't working for some output formats but was working for json. It turns out only json was doing an fflush. Make all output formats flush.
Diffstat (limited to 'src/shared/logs-show.c')
-rw-r--r--src/shared/logs-show.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index 99407c9c1..67b20563d 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -521,7 +521,6 @@ static int output_json(sd_journal *j, unsigned line,
}
fputs("\n}", stdout);
- fflush(stdout);
return 0;
}
@@ -560,13 +559,16 @@ static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line,
int output_journal(sd_journal *j, OutputMode mode, unsigned line,
unsigned n_columns, OutputFlags flags) {
+ int ret;
assert(mode >= 0);
assert(mode < _OUTPUT_MODE_MAX);
if (n_columns <= 0)
n_columns = columns();
- return output_funcs[mode](j, line, n_columns, flags);
+ ret = output_funcs[mode](j, line, n_columns, flags);
+ fflush(stdout);
+ return ret;
}
int show_journal_by_unit(