]> sigrok.org Git - libsigrok.git/commitdiff
log: flush log lines, to cope with non-terminal output (pipes)
authorGerhard Sittig <redacted>
Mon, 29 Jan 2018 19:10:36 +0000 (20:10 +0100)
committerGerhard Sittig <redacted>
Fri, 9 Feb 2018 20:59:18 +0000 (21:59 +0100)
Although log messages are terminated by a line feed, output still might
get buffered when the program does not talk to a terminal (that it is
aware of). Add an fflush(3) call to the printf(3) sequence such that log
output will immediately show up when writing to pipes or sockets, too.

src/log.c

index cdf2293bdeb32b012d43548545c44c058eb15a1b..55c5270f93a42db3a602191f41cb401f15508393 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -204,6 +204,7 @@ static int sr_logv(void *cb_data, int loglevel, const char *format, va_list args
        }
 
        g_fprintf(stderr, "%s\n", output);
+       fflush(stderr);
        g_free(raw_output);
        g_free(output);