Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix a race when StopAtEOF is called #70

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tgummerer
Copy link

Currently when StopAtEOF is called, and we previously encountered an EOF already, we stop reading the file immediately. However when tailing a file, new data might have become available in the meantime, before the StopAtEOF is called. The watcher might however not have notified us about that yet.

Instead of exiting immediately if that happens, and leaving the data that's already in the file unread, continue iterating until we get the next EOF, as we can be reasonably sure that that's the EOF the user meant to stop at, making sure to read all the data that has been written by the time StopAtEOF is called.

Fixes #67

Currently when StopAtEOF is called, and we previously encountered an
EOF already, we stop reading the file immediately.  However when
tailing a file, new data might have become available in the meantime,
before the StopAtEOF is called.  The watcher might however not have
notified us about that yet.

Instead of exiting immediately if that happens, and leaving the data
that's already in the file unread, continue iterating until we get
the *next* EOF, as we can be reasonably sure that that's the EOF the
user meant to stop at, making sure to read all the data that has been
written by the time StopAtEOF is called.
@tgummerer
Copy link
Author

@nxadm, any interest in this? Can I do something to help get this landed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

StopAtEOF is racy
1 participant