Check enablement state for all output write operations #1581
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.
The color contamination fix addressed by #1527 routes all output write operations through OutputStream including Non virtual terminal operations. The fix introduced a bug causing a write operation without checking the enablement state of the output stream. The fix addressing issue by checking if the write operation should be permitted.
The main output stream that controls all write operation is never cloned when the main context is cloned, this causes the output stream to be disabled upon the destruction of a subcontext(because we disable the output stream to prevent multiple background jobs from writing to the output stream, when user force terminates). This pull request fixes this issue by allowing disabling of BaseOutputStream through forceful termination only.
Microsoft Reviewers: Open in CodeFlow