From: Pádraig Brady Date: Mon, 28 May 2012 01:43:06 +0000 (+0100) Subject: cksum: line-buffer the printed checksums X-Git-Tag: v8.18~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ab72e3a4364a9dea2a086aa6adfdd02fca53b3d;p=thirdparty%2Fcoreutils.git cksum: line-buffer the printed checksums This utility was inadvertently omitted from commit v8.0-34-g710fe41 * src/cksum.c (main): Set stdout to line buffered mode, to ensure parallel running instances don't intersperse their output. * NEWS: Mention the fix. * THANKS.in: Add Anoop. Reported by Anoop Sharma. --- diff --git a/NEWS b/NEWS index 78e1d72fe1..daea549970 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,10 @@ GNU coreutils NEWS -*- outline -*- ** Bug fixes + cksum now prints checksums atomically so that concurrent + processes will not intersperse their output. + [the bug dates back to the initial implementation] + ls --color would mis-color relative-named symlinks in / [bug introduced in coreutils-8.17] diff --git a/THANKS.in b/THANKS.in index 4dd8e44478..43c9d6b93c 100644 --- a/THANKS.in +++ b/THANKS.in @@ -57,6 +57,7 @@ Andrew Tridgell tridge@samba.org Andrey Borzenkov arvidjaar@mail.ru Andries Brouwer Andries.Brouwer@cwi.nl Andy Longton alongton@metamark.com +Anoop Sharma sendtoanoop@gmail.com Anthony Thyssen anthony@griffith.edu.au Antonio Rendas ajrendas@yahoo.com Ariel Faigon ariel@cthulhu.engr.sgi.com diff --git a/src/cksum.c b/src/cksum.c index d3ce0f8e9f..332f41d0dd 100644 --- a/src/cksum.c +++ b/src/cksum.c @@ -290,6 +290,10 @@ main (int argc, char **argv) atexit (close_stdout); + /* Line buffer stdout to ensure lines are written atomically and immediately + so that processes running in parallel do not intersperse their output. */ + setvbuf (stdout, NULL, _IOLBF, 0); + parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1)