mirror of
https://github.com/docker/cli.git
synced 2026-01-15 07:40:57 +03:00
When stdout/stderr is closed prematurely, the proxy's writes to stdout/stderr (i.e. `log.Errorf/log.Printf`) will returns with EPIPE error, and go runtime will terminate the proxy when stdout/stderr writes trigger 10 EPIPE errors. instead of using stdout/stderr as the status handler, we pass an extra file to the child process and write `0\n` or `1\nerror message` to it and close it after. This allow the child process to handle stdout/stderr as normal. Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh) Upstream-commit: 3b9d88210e763bebdfd7badb6ed3fd507d0f6513 Component: engine