diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/portforward/portforward.go b/staging/src/k8s.io/kubectl/pkg/cmd/portforward/portforward.go index f02003546bb..501cbf11afd 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/portforward/portforward.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/portforward/portforward.go @@ -420,10 +420,13 @@ func (o PortForwardOptions) RunPortForwardContext(ctx context.Context) error { signal.Notify(signals, os.Interrupt) defer signal.Stop(signals) + returnCtx, returnCtxCancel := context.WithCancel(ctx) + defer returnCtxCancel() + go func() { select { case <-signals: - case <-ctx.Done(): + case <-returnCtx.Done(): } if o.StopChannel != nil { close(o.StopChannel)