summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/coreutils.texi5
-rw-r--r--src/tail.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index b7ccf3849..d2377f41b 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 bcd2d9970..88fbd10b8 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;