diff options
-rw-r--r-- | pkg/domain/infra/tunnel/containers.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pkg/domain/infra/tunnel/containers.go b/pkg/domain/infra/tunnel/containers.go index 4bd813847..955149fcf 100644 --- a/pkg/domain/infra/tunnel/containers.go +++ b/pkg/domain/infra/tunnel/containers.go @@ -445,10 +445,15 @@ func startAndAttach(ic *ContainerEngine, name string, detachKeys *string, input, }() // Wait for the attach to actually happen before starting // the container. - <-attachReady - if err := containers.Start(ic.ClientCxt, name, detachKeys); err != nil { + select { + case <-attachReady: + if err := containers.Start(ic.ClientCxt, name, detachKeys); err != nil { + return err + } + case err := <-attachErr: return err } + // If attachReady happens first, wait for containers.Attach to complete return <-attachErr } |