summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorGeoff Levand <geoffrey.levand@am.sony.com>2009-01-21 16:26:58 -0800
committerJeremy Kerr <jk@ozlabs.org>2009-02-01 11:53:55 +1100
commit73df817d55376240d17ced8c2b6d89c4f17c4a63 (patch)
treeb3f9cc8961ff4f33ba3fcac6259e0d72498b64c7 /lib
parent35cc5798268f4fce3291748406211bb149a57571 (diff)
downloadtalos-petitboot-73df817d55376240d17ced8c2b6d89c4f17c4a63.tar.gz
talos-petitboot-73df817d55376240d17ced8c2b6d89c4f17c4a63.zip
Flush log stream on write
Flush the pb_log stream when the stream is changed, and add an option to flush the pb_log stream on every write. Useful while debugging. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/log/log.c10
-rw-r--r--lib/log/log.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/log/log.c b/lib/log/log.c
index e006fd0..41b44cc 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -4,6 +4,7 @@
#include "log.h"
static FILE *logf;
+static int always_flush;
void pb_log(const char *fmt, ...)
{
@@ -15,9 +16,18 @@ void pb_log(const char *fmt, ...)
va_start(ap, fmt);
vfprintf(stream, fmt, ap);
va_end(ap);
+
+ if (always_flush)
+ fflush(stream);
}
void pb_log_set_stream(FILE *stream)
{
+ fflush(logf ? logf : stdout);
logf = stream;
}
+
+void pb_log_always_flush(int state)
+{
+ always_flush = state;
+}
diff --git a/lib/log/log.h b/lib/log/log.h
index 3e92555..813a19e 100644
--- a/lib/log/log.h
+++ b/lib/log/log.h
@@ -5,5 +5,6 @@
void pb_log(const char *fmt, ...);
void pb_log_set_stream(FILE *stream);
+void pb_log_always_flush(int state);
#endif /* _LOG_H */
OpenPOWER on IntegriCloud