From: Brandon Philips Date: Tue, 4 Sep 2012 01:37:46 +0000 (-0700) Subject: shared: logs-show: fflush after each output type X-Git-Tag: v190~177 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e268b81e;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index 99407c9c1d5..67b20563dff 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(