diff --git a/pkg/compose/up.go b/pkg/compose/up.go index d3a18a594..a657e1680 100644 --- a/pkg/compose/up.go +++ b/pkg/compose/up.go @@ -21,7 +21,6 @@ import ( "fmt" "os" "os/signal" - "sync/atomic" "syscall" "github.com/compose-spec/compose-go/v2/types" @@ -109,8 +108,6 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options } } - // killRunning is used to control that we don't run more than one kill if signals are spammed. - var killRunning atomic.Bool for { select { case <-doneCh: @@ -124,13 +121,7 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options gracefulTeardown() break } - if !killRunning.CompareAndSwap(false, true) { - break - } eg.Go(func() error { - defer killRunning.Store(false) - // Intentionally ignore errors, for cases where some - // of the containers are already stopped. err := s.kill(context.Background(), project.Name, api.KillOptions{ Services: options.Create.Services, Project: project, @@ -143,6 +134,7 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options return err }) + return nil case event := <-kEvents: formatter.KeyboardManager.HandleKeyEvents(event, ctx, project, options) }