aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/concurrent/ErrorHandler.java
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-07-14 12:21:56 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-14 12:55:18 +0200
commit678c852b33974ca573a382f3a4392c007fcefe62 (patch)
tree44c5555782553ce761d38e97a08ebe754d9407fc /src/main/java/com/google/devtools/build/lib/concurrent/ErrorHandler.java
parentecb15d3ace2bca89777c0f14c79cfe76fc0e1303 (diff)
experimentalUI: agressively buffer
To update the progress bar, we first have to remove it and then write the new one. For this to look smooth, the control sequence removing the old progress bar and the characters of the new progress bar have to arrive "in one go" at the (actual) terminal. As AnsiTerminal sends each control sequence as a separate write to the underlying stream, we have to buffer the underlying stream. Therefore, if the experimental UI is used, buffer that stream unconditionally until flushed, and not by line. For the experimental UI this is save, as it flushes the stream appropriately. For the old UI, we keep the line buffering, as the old UI relies on an implicit flush whenever a new-line character is written. Change-Id: I3a914e4b93ce17c3de05df0d860cf98849c3b4a1 PiperOrigin-RevId: 161935218
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/concurrent/ErrorHandler.java')
0 files changed, 0 insertions, 0 deletions