readStderrSnapshot
Reads whatever is currently buffered on the process's stderr, or null if unavailable.
Bounded in size and time on purpose: the stream stays open for the process's whole life, so an unbounded read would block until it exits rather than returning what the browser has said so far.
Returns null where stderr is not captured (Linux, where the child simply inherits ours).
Reads whatever is currently buffered on the process's stderr, bounded in both size and time.
Both bounds matter: the stream stays open for as long as the process lives, so an unbounded read would block until it exits. That is why the equivalent block used to be commented out with "seems to block indefinitely on CI".
Not available on this target: startProcess here calls CreateProcessW without redirecting the child's standard streams, so there is no pipe to read from.