mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-21 12:48:30 +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 <-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)
|
||||
err = <-errorChan
|
||||
|
Loading…
Reference in New Issue
Block a user