tail: fix pipe-f test by detecting broken stdout pipe#10156
Merged
sylvestre merged 1 commit intouutils:mainfrom Jan 10, 2026
Merged
tail: fix pipe-f test by detecting broken stdout pipe#10156sylvestre merged 1 commit intouutils:mainfrom
sylvestre merged 1 commit intouutils:mainfrom
Conversation
|
GNU testsuite comparison: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There are two high level changes in this PR, the first is that when timing out, validating that stdout is still valid. This was implemented by moving the function that validates stdout from tee to signal and then using it in the tail utility.
The second change is harder to wrap my head around, its removing stdin from the observing group. Which was implemented like this:
When I was doing research on why one would follow stdin, all of the information I could find said that stdin cannot be meaningfully followed and that no new information could arrive after EOF, so that removing this would solve the issue of continuously waiting on stdin instead of waiting forever.
Maybe someone could explain to me why we were doing this, but as far as I can tell it is not required and has the side effect of causing it to hang even when the stdin is closed.