<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/src/tail.c, branch v8.3</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=v8.3</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=v8.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2010-01-01T13:06:47Z</updated>
<entry>
<title>maint: update all FSF copyright year lists to include 2010</title>
<updated>2010-01-01T13:06:47Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2010-01-01T09:56:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=1aa17dc89b3f313697661541adca0aa0defbdc09'/>
<id>urn:sha1:1aa17dc89b3f313697661541adca0aa0defbdc09</id>
<content type='text'>
Use this command:
git ls-files | grep -v COPYING \
  | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \
      build-aux/update-copyright
</content>
</entry>
<entry>
<title>doc: update tail's documentation to allow for new -F semantics</title>
<updated>2009-12-31T08:42:52Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-30T13:23:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=f428e548e52d76a5ed729a2cba9a05f93dad40d9'/>
<id>urn:sha1:f428e548e52d76a5ed729a2cba9a05f93dad40d9</id>
<content type='text'>
* src/tail.c (usage): Reword tail -F description, so that it no
longer mentions details specific to the non-inotify implementation.
Also, join diagnostic strings (while staying under the 509-byte limit)
to ease formatting of translations.  The latter was prompted by
a report from Stéphane Raimbault.
* doc/coreutils.texi (tail invocation): Update description here, too.
</content>
</entry>
<entry>
<title>tail -F: don't stop following the target of a rename</title>
<updated>2009-12-30T10:22:55Z</updated>
<author>
<name>Giuseppe Scrivano</name>
<email>gscrivano@gnu.org</email>
</author>
<published>2009-12-29T23:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=2ead2365e01f8e103ddce6f34558eee3648de5b4'/>
<id>urn:sha1:2ead2365e01f8e103ddce6f34558eee3648de5b4</id>
<content type='text'>
This fixes a bug whereby tail -F would fail to track changes
to a file that was a target of a rename, and when the source of
the rename was another tailed file.

* src/tail.c (tail_forever_inotify): Ensure the wd is not already
present in the hash table before trying to add it.  When a new watch
descriptor is added to the `wd_to_name' hash table, check that it is
not already present.  If it is present then remove the previous element.
</content>
</entry>
<entry>
<title>tail: remove `fdspec' from the hash table before changing its key</title>
<updated>2009-12-29T16:01:01Z</updated>
<author>
<name>Giuseppe Scrivano</name>
<email>gscrivano@gnu.org</email>
</author>
<published>2009-12-29T13:59:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=07f15147eb72e9c60686068ddea9c6c5b1ac62e3'/>
<id>urn:sha1:07f15147eb72e9c60686068ddea9c6c5b1ac62e3</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): Avoid modifying fdspec-&gt;wd while
it is in the wd_to_name hash table.  Once it is removed, it can be
added using the new `wd' as key for the hash table.  This fixes the
abort-inducing bug reported by Rob Wortman in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19372
</content>
</entry>
<entry>
<title>tail: rename an internal variable</title>
<updated>2009-12-29T13:26:05Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-29T13:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=4b2b2711d9f12b991d29755810e090133510f0d2'/>
<id>urn:sha1:4b2b2711d9f12b991d29755810e090133510f0d2</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): s/wd_table/wd_to_name/
</content>
</entry>
<entry>
<title>tail: avoid read-beyond-end-of-buffer error</title>
<updated>2009-12-29T13:24:01Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-29T13:24:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=66b15949df877a75a413ad40e88aa89c3c467d34'/>
<id>urn:sha1:66b15949df877a75a413ad40e88aa89c3c467d34</id>
<content type='text'>
* src/tail.c (tail_forever_inotify): Do not use f[i] in a context
where i may be larger than the largest valid index.  In the final
"if" clause in which we'd remove an inotify watch, we might have
used f[n_files].  Use fspec instead, since it is guaranteed to
be defined.
</content>
</entry>
<entry>
<title>tail: shrink internal struct by 8 bytes</title>
<updated>2009-12-26T08:09:36Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-25T11:08:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=8506d9adb6958b85a33edcc099a08426e5e8033a'/>
<id>urn:sha1:8506d9adb6958b85a33edcc099a08426e5e8033a</id>
<content type='text'>
* tail.c (struct File_spec): Rearrange struct members to decrease
size by 8 bytes to 76,96 on i686,x86_64 respectively.
</content>
</entry>
<entry>
<title>maint: tail: avoid in-function #if directives</title>
<updated>2009-12-25T11:05:30Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-24T11:42:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c85ad43ef4ca99d1184e70e99edee703d19784c7'/>
<id>urn:sha1:c85ad43ef4ca99d1184e70e99edee703d19784c7</id>
<content type='text'>
* src/tail.c (fremote): Add a comment.
Move definition "up" to precede first use, so we can
remove its prototype and the #if..#endif around each use.
(any_remote_file): Rename from any_remote_files.
</content>
</entry>
<entry>
<title>tail: fix --follow to not use inotify on remote files</title>
<updated>2009-12-25T00:56:41Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2009-12-14T22:45:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=8d2ecd4a3e30be880b2937bc1d76297a1c2e387a'/>
<id>urn:sha1:8d2ecd4a3e30be880b2937bc1d76297a1c2e387a</id>
<content type='text'>
* src/tail.c (struct File_spec): Add a flag to record if file is remote.
(recheck): If we're using inotify then check if the file has gone remote
and if so, drop it with a warning.
(any_remote_files): A new function to check for any open remote files.
(tailable_stdin): A new function to refactor the check for whether
a tailable file was specified through stdin.
(fremote): A new function to check if a file descriptor
refers to a remote file.
(tail_forever_inotify): Add some comments.
(tail_file): Record if a file is remote when initially opened.
(main): Disable inotify if any remote files specified.
Also document the caveat about remounted files not
being noticed by inotify.
* NEWS: Mention the fix.
</content>
</entry>
<entry>
<title>tail: don't call fstat on an uninitialized FD</title>
<updated>2009-12-11T11:15:13Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-12-11T11:15:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=fc4d3f63b0c64992014b035e8b780eb230e0c855'/>
<id>urn:sha1:fc4d3f63b0c64992014b035e8b780eb230e0c855</id>
<content type='text'>
This bug showed up via valgrind as a "Conditional jump or move
depends on uninitialized value(s)" error.
* src/tail.c (ignore_fifo_and_pipe): New function.
(main): Use it only when tailing forever.
The code to compute n_viable and mark some F[i] as ignored would call
isapipe on an uninitialized file descriptor.  But n_viable and those
.ignored marks are useful/used only when tailing forever.  This bug
was introduced via commit f0ff8c73 (7.6), "tail: make the new
piped-stdin test as portable as the old one".
* NEWS (Bug fixes): Mention it.
</content>
</entry>
</feed>
