Skip to content

Commit eaa8fec

Browse files
committed
refactor: improve port-forwarding
1 parent 5d503c3 commit eaa8fec

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

pkg/devspace/kubectl/portforward/portforward.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -326,15 +326,20 @@ func (pf *PortForwarder) getListener(protocol string, hostname string, port *For
326326
// the background.
327327
func (pf *PortForwarder) waitForConnection(listener net.Listener, port ForwardedPort) {
328328
for {
329-
conn, err := listener.Accept()
330-
if err != nil {
331-
// TODO consider using something like https://github.com/hydrogen18/stoppableListener?
332-
if !strings.Contains(strings.ToLower(err.Error()), "use of closed network connection") {
333-
pf.raiseError(fmt.Errorf("error accepting connection on port %d: %v", port.Local, err))
334-
}
329+
select {
330+
case <-pf.streamConn.CloseChan():
335331
return
332+
default:
333+
conn, err := listener.Accept()
334+
if err != nil {
335+
// TODO consider using something like https://github.com/hydrogen18/stoppableListener?
336+
if !strings.Contains(strings.ToLower(err.Error()), "use of closed network connection") {
337+
pf.raiseError(fmt.Errorf("error accepting connection on port %d: %v", port.Local, err))
338+
}
339+
return
340+
}
341+
go pf.handleConnection(conn, port)
336342
}
337-
go pf.handleConnection(conn, port)
338343
}
339344
}
340345

0 commit comments

Comments
 (0)