From: Jim Meyering Date: Sat, 23 Apr 2011 14:08:08 +0000 (+0200) Subject: doc: tail/inotify does use --sleep-interval=S, with --pid=P X-Git-Tag: v8.12~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=249d9a3ca429e508958e87c636c1b6a4a8d75f12;p=thirdparty%2Fcoreutils.git doc: tail/inotify does use --sleep-interval=S, with --pid=P * doc/coreutils.texi (tail invocation): Mention it. * src/tail.c (usage): Likewise. (tail_forever_inotify): Clarify comment. --- diff --git a/doc/coreutils.texi b/doc/coreutils.texi index b7ccf38496..d2377f41be 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -2852,7 +2852,10 @@ changed size. Historical implementations of @command{tail} have required that @var{number} be an integer. However, GNU @command{tail} accepts an arbitrary floating point number. @xref{Floating point}. -When @command{tail} uses inotify, this polling-related option is ignored. +When @command{tail} uses inotify, this polling-related option +is usually ignored. However, if you also specify @option{--pid=@var{p}}, +@command{tail} checks whether process @var{p} is alive at least +every @var{number} seconds. @itemx --pid=@var{pid} @opindex --pid diff --git a/src/tail.c b/src/tail.c index bcd2d99701..88fbd10b81 100644 --- a/src/tail.c +++ b/src/tail.c @@ -302,7 +302,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\ fputs (_("\ -s, --sleep-interval=N with -f, sleep for approximately N seconds\n\ (default 1.0) between iterations.\n\ - With inotify, this option is rarely useful.\n\ + With inotify and --pid=P, check process P at\n\ + least once every N seconds.\n\ -v, --verbose always output headers giving file names\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); @@ -1422,9 +1423,10 @@ tail_forever_inotify (int wd, struct File_spec *f, size_t n_files, evlen += sizeof (struct inotify_event) + 1; evbuf = xmalloc (evlen); - /* Wait for inotify events and handle them. Events on directories make sure - that watched files can be re-added when -F is used. - This loop sleeps on the `safe_read' call until a new event is notified. */ + /* Wait for inotify events and handle them. Events on directories + ensure that watched files can be re-added when following by name. + This loop blocks on the `safe_read' call until a new event is notified. + But when --pid=P is specified, tail usually waits via the select. */ while (1) { struct File_spec *fspec;