From d54376db68adf655b5f09855442b2983fc2f4f3e Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 6 Sep 2009 09:39:31 +0200 Subject: tail: flush initial output before possibly blocking * src/tail.c (main): Flush any output from tail_file, before calling tail_forever_inotify, which can block. * tests/tail-2/flush-initial: New file. Test for the bug. * tests/Makefile.am (TESTS): Add tail-2/flush-initial. * NEWS (Bug fixes): Mention it. This bug was introduced in coreutils-7.5 via commit ae494d4b, 2009-06-02, "tail: use inotify if it is available". --- NEWS | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index cb0122786..b02d2daea 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,11 @@ GNU coreutils NEWS -*- outline -*- because ls must stat every file in order to obtain a guaranteed-valid inode number. [bug introduced in coreutils-6.0] + tail -f (inotify-enabled) now flushes any initial output before blocking. + Before, this would print nothing and wait: stdbuf -o 4K tail -f /etc/passwd + Note that this bug affects tail -f only when its standard output is buffered, + which is relatively unusual. + ** New features cp --reflink accepts a new "auto" parameter which falls back to -- cgit v1.2.3-54-g00ecf