Flush libc stdout/stderr in suppress_stdout_stderr #2015
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.
I was testing #1989 and I noticed that whenever my script terminated I would get all the output from clip_init, which uses suppress_stdout_stderr here https://github.com/abetlen/llama-cpp-python/blob/main/llama_cpp/llama_chat_format.py#L2708 . After a while of messing around with it, I figured the reason was that stdout was not being flushed before being redirected. I tried this PR on macOS and it works fine, might be worth testing on Linux/Windows too