summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg/domain/infra/tunnel/containers.go9
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
}