diff options
-rw-r--r-- | doc/coreutils.texi | 5 | ||||
-rw-r--r-- | src/tail.c | 10 |
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; |