diff --git a/libnetwork/cmd/proxy/tcp_proxy.go b/libnetwork/cmd/proxy/tcp_proxy.go index 700054af99..4ac643a788 100644 --- a/libnetwork/cmd/proxy/tcp_proxy.go +++ b/libnetwork/cmd/proxy/tcp_proxy.go @@ -5,7 +5,6 @@ import ( "log" "net" "sync" - "syscall" ) // TCPProxy is a proxy for TCP connections. It implements the Proxy interface to @@ -41,13 +40,7 @@ func (proxy *TCPProxy) clientLoop(client *net.TCPConn, quit chan bool) { var wg sync.WaitGroup var broker = func(to, from *net.TCPConn) { - if _, err := io.Copy(to, from); err != nil { - // If the socket we are writing to is shutdown with - // SHUT_WR, forward it to the other end of the pipe: - if err, ok := err.(*net.OpError); ok && err.Err == syscall.EPIPE { - from.CloseWrite() - } - } + io.Copy(to, from) from.CloseRead() to.CloseWrite() wg.Done()