Clear input/output buffers on macOS upon TTY open #142
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 don't understand why this works, but it resolves problematic behavior (#49) on macOS. Bisecting history, I found commit
3d6c1b2, which removed flushing the IO buffers for a TTY, was problematic on macOS. However, the test
test_osx_pty_pair
which tests pseudo-ttys with baud_rate 0 on macOS (introduced in b54264b) fails if I simply reintroduced flushing. Therefore, this change now re-introduces flushing the IO buffers upon opening a TTY, but only on macOS and only when baud-rate is non-zero.Thanks to @berkus for the original work.
This supersedes #133.