This repository has been archived by the owner on Jun 28, 2022. It is now read-only.
stdin should block and wait for new inputs till stdin is closed. #57
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.
StdinStreamRunner
considers it reaches EOF when the stdin is not ready.This results
stream2es
finishes before the previous program finishes the stream, especially when the program is slow.This change blocks the runner while reading stdin, and considers reaching EOF only after stdin is closed.
Steps to reproduce problems:
Create a script
testoutput.sh
:run
stream2es
:$ ./testoutput.sh |./stream2es stdin
Result (actual, unexpected): stream2es finishes before processing all the outputs from the script like this (only 3 lines are processed):
Expected result (result after this change): all 10 lines are processed: