-
Notifications
You must be signed in to change notification settings - Fork 66
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
StopAtEOF does not function as expected. #37
Open
CalebRolland opened this issue
Nov 6, 2021
· 2 comments
· Fixed by filiptronicek/go-tail#1 · May be fixed by #71 or #76
Open
StopAtEOF does not function as expected. #37
CalebRolland opened this issue
Nov 6, 2021
· 2 comments
· Fixed by filiptronicek/go-tail#1 · May be fixed by #71 or #76
Comments
I will take a look. Thank you. |
Luap99
added a commit
to Luap99/tail
that referenced
this issue
Jun 26, 2024
When a StopAtEOF() is called the code should continue to send all lines to the Lines channel. The issue here is if the caller is not ready to receive a new line the code blocks as it is using a unbuffered channel. However <-tail.Dying() would return in this case so the line was skipped. This means that the caller did not get all lines until EOF. Now we still want to skip in case any other reason for kill was given therefore add special logic to only not read the Dying channel on the EOF case. The one downside is that StopAtEOF() could block forever if the caller never reads new Lines but this seems logical to me. If the caller wants to wait for EOF but never reads remaining Lines this would be a bug on their end. Fixes nxadm#37 Signed-off-by: Paul Holzinger <[email protected]>
I created a PR that should fix the issue #71 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
Maybe I am I misunderstand the purpose of the StopAtEOF function, but my expectation is the file would continue reading until the end of the file is reached after the function is called.
The current behavior is: the tailer will continue to go through each line, but the lines are never sent to the Lines channel because of this case switch:
tail/tail.go
Line 432 in 6abd9f9
The text was updated successfully, but these errors were encountered: