Commit 5b6a7c60 authored by k8s-merge-robot's avatar k8s-merge-robot

Merge pull request #18524 from thockin/kube-proxy-close

Auto commit by PR queue bot
parents bf5f69bf ad077094
...@@ -153,8 +153,6 @@ func proxyTCP(in, out *net.TCPConn) { ...@@ -153,8 +153,6 @@ func proxyTCP(in, out *net.TCPConn) {
go copyBytes("from backend", in, out, &wg) go copyBytes("from backend", in, out, &wg)
go copyBytes("to backend", out, in, &wg) go copyBytes("to backend", out, in, &wg)
wg.Wait() wg.Wait()
in.Close()
out.Close()
} }
func copyBytes(direction string, dest, src *net.TCPConn, wg *sync.WaitGroup) { func copyBytes(direction string, dest, src *net.TCPConn, wg *sync.WaitGroup) {
...@@ -162,11 +160,13 @@ func copyBytes(direction string, dest, src *net.TCPConn, wg *sync.WaitGroup) { ...@@ -162,11 +160,13 @@ func copyBytes(direction string, dest, src *net.TCPConn, wg *sync.WaitGroup) {
glog.V(4).Infof("Copying %s: %s -> %s", direction, src.RemoteAddr(), dest.RemoteAddr()) glog.V(4).Infof("Copying %s: %s -> %s", direction, src.RemoteAddr(), dest.RemoteAddr())
n, err := io.Copy(dest, src) n, err := io.Copy(dest, src)
if err != nil { if err != nil {
glog.Errorf("I/O error: %v", err) if !isClosedError(err) {
glog.Errorf("I/O error: %v", err)
}
} }
glog.V(4).Infof("Copied %d bytes %s: %s -> %s", n, direction, src.RemoteAddr(), dest.RemoteAddr()) glog.V(4).Infof("Copied %d bytes %s: %s -> %s", n, direction, src.RemoteAddr(), dest.RemoteAddr())
dest.CloseWrite() dest.Close()
src.CloseRead() src.Close()
} }
// udpProxySocket implements proxySocket. Close() is implemented by net.UDPConn. When Close() is called, // udpProxySocket implements proxySocket. Close() is implemented by net.UDPConn. When Close() is called,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment