f7ad0054

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Line-buffer stderr in coverage mode to prevent interleaving with child writes

In a Nix build sandbox stderr defaults to BlockBuffering. The parent's
progress messages would sit in the buffer until it filled, while child
processes (which inherit the fd) wrote to it directly past the parent's
Handle lock — bursts could interleave at the byte level, producing
"cccccooooo..."-style garbled progress lines.