mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-21 20:59:17 +00:00
fix: draining remote stream after port-forward connection broken
Signed-off-by: Nic <qianyong@api7.ai> Kubernetes-commit: dbe6b6657bacc846656f4009ee869ca996dde1da
This commit is contained in:
parent
2d3b1e2feb
commit
d6404c8d76
@ -406,6 +406,11 @@ func (pf *PortForwarder) handleConnection(conn net.Conn, port ForwardedPort) {
|
|||||||
case <-remoteDone:
|
case <-remoteDone:
|
||||||
case <-localError:
|
case <-localError:
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
reset dataStream to discard any unsent data, preventing port forwarding from being blocked.
|
||||||
|
we must reset dataStream before waiting on errorChan, otherwise, the blocking data will affect errorStream and cause <-errorChan to block indefinitely.
|
||||||
|
*/
|
||||||
|
_ = dataStream.Reset()
|
||||||
|
|
||||||
// always expect something on errorChan (it may be nil)
|
// always expect something on errorChan (it may be nil)
|
||||||
err = <-errorChan
|
err = <-errorChan
|
||||||
|
Loading…
Reference in New Issue
Block a user