The flag is introduced to address crbug.com/279312 .
According to the doc for the arg, it tried to proxy the stdout/stderr from the subprocess to LoggingFile.
However, it does not work.
If no_pipes is set, LoggingFile instance is directly passed to the subprocess.Popen(). The ctor accepts the file-like object which supports fileno. LoggingFile has fileno(), but it is a kind of fake (pipe(), which is not read by anyone) and subprocess outputs the data to the pipe.
As a result, the data is just discarded from the users' perspective. Also, if too many data is output, pipe would be full so the subprocess would be stuck.
Considering that;
1) Currently nobody complaining that the output is simply discarded.
2) Currently it is only for limited usage (master-ssh connection process).
3) No easy/simple approach to redirect the data correctly to the LoggingFile concurrently.
it looks ok to give up proxying, and instead just to redirect subprocess's stdout/stderr to /dev/null.
Comment 1 by bugdroid1@chromium.org
, Jun 15 2017