Message ID | 1481701920-13758-3-git-send-email-ross.lagerwall@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Dec 14, 2016 at 07:51:54AM +0000, Ross Lagerwall wrote: > Using both stdout and stderr interleaved without newlines can result in > strange output when using line buffered mode (e.g. a terminal) or when > fully buffered (e.g. redirected to a file). Set stdout to unbuffered mode > to fix this (stderr is always unbuffered by default). > > Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com> > --- > tools/misc/xen-livepatch.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c > index f6c7c8a..56ae5aa 100644 > --- a/tools/misc/xen-livepatch.c > +++ b/tools/misc/xen-livepatch.c > @@ -330,7 +330,6 @@ int action_func(int argc, char *argv[], unsigned int idx) > } > > printf("."); > - fflush(stdout); > usleep(DELAY); > } while ( ++retry < RETRIES ); > > @@ -416,6 +415,12 @@ int main(int argc, char *argv[]) > { > int i, j = 0, ret; > > + /* > + * Set stdout to be unbuffered to avoid having to fflush when > + * printing without a newline. > + */ > + setvbuf(stdout, NULL, _IONBF, 0); > + > if ( argc <= 1 ) > { > show_help(); > -- > 2.7.4 >
diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c index f6c7c8a..56ae5aa 100644 --- a/tools/misc/xen-livepatch.c +++ b/tools/misc/xen-livepatch.c @@ -330,7 +330,6 @@ int action_func(int argc, char *argv[], unsigned int idx) } printf("."); - fflush(stdout); usleep(DELAY); } while ( ++retry < RETRIES ); @@ -416,6 +415,12 @@ int main(int argc, char *argv[]) { int i, j = 0, ret; + /* + * Set stdout to be unbuffered to avoid having to fflush when + * printing without a newline. + */ + setvbuf(stdout, NULL, _IONBF, 0); + if ( argc <= 1 ) { show_help();
Using both stdout and stderr interleaved without newlines can result in strange output when using line buffered mode (e.g. a terminal) or when fully buffered (e.g. redirected to a file). Set stdout to unbuffered mode to fix this (stderr is always unbuffered by default). Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> --- tools/misc/xen-livepatch.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)