From: Pádraig Brady Date: Sun, 24 Oct 2010 13:02:12 +0000 (+0100) Subject: tail: support rechecking currently missing remote dirs X-Git-Tag: v8.7~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c84ddbaa333fc502394941320d3abef2db6889f0;p=thirdparty%2Fcoreutils.git tail: support rechecking currently missing remote dirs src/tail.c (main): As an optimization, don't bother checking for stdin or remote files, when ---disable-inotify is specified. To improve the fix in commit 61b77891, set the disable_inotify flag when we fall back to polling, so that we recheck remote files. NEWS: Mention the fix --- diff --git a/NEWS b/NEWS index f28c243d75..7dbbf1f2c7 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ GNU coreutils NEWS -*- outline -*- * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + tail -F once again notices changes in a currently unavailable + remote directory [bug introduced in coreutils-7.5] + * Noteworthy changes in release 8.6 (2010-10-15) [stable] diff --git a/src/tail.c b/src/tail.c index 68cc819d6e..924221016b 100644 --- a/src/tail.c +++ b/src/tail.c @@ -2169,7 +2169,8 @@ main (int argc, char **argv) FIXME: when using inotify, and a directory for a watched file is recreated, then we don't recheck any new file when follow_mode == Follow_name */ - if (tailable_stdin (F, n_files) || any_remote_file (F, n_files)) + if (!disable_inotify && (tailable_stdin (F, n_files) + || any_remote_file (F, n_files))) disable_inotify = true; if (!disable_inotify) @@ -2189,6 +2190,7 @@ main (int argc, char **argv) error (0, errno, _("inotify cannot be used, reverting to polling")); } #endif + disable_inotify = true; tail_forever (F, n_files, sleep_interval); }