From f35d2cfb3b3129189a2e715a59b9416383c65a66 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 17 Jul 2025 14:52:46 +0200 Subject: [PATCH] monitor must watch events even when context is cancelled Signed-off-by: Nicolas De Loof --- pkg/compose/monitor.go | 4 +--- pkg/compose/up.go | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/compose/monitor.go b/pkg/compose/monitor.go index b0f9cc0af..6952b4e68 100644 --- a/pkg/compose/monitor.go +++ b/pkg/compose/monitor.go @@ -79,7 +79,7 @@ func (c *monitor) Start(ctx context.Context) error { } restarting := utils.Set[string]{} - evtCh, errCh := c.api.Events(ctx, events.ListOptions{ + evtCh, errCh := c.api.Events(context.Background(), events.ListOptions{ Filters: filters.NewArgs( filters.Arg("type", "container"), projectFilter(c.project)), @@ -89,8 +89,6 @@ func (c *monitor) Start(ctx context.Context) error { return nil } select { - case <-ctx.Done(): - return nil case err := <-errCh: return err case event := <-evtCh: diff --git a/pkg/compose/up.go b/pkg/compose/up.go index 04cf06e99..d3515538e 100644 --- a/pkg/compose/up.go +++ b/pkg/compose/up.go @@ -111,6 +111,7 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options eg.Go(func() error { first := true gracefulTeardown := func() { + first = false tui.ApplicationTermination() eg.Go(func() error { return progress.RunWithLog(context.WithoutCancel(ctx), func(ctx context.Context) error { @@ -121,7 +122,6 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options }, s.stdinfo(), logConsumer) }) isTerminated.Store(true) - first = false } for { @@ -238,7 +238,7 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options }) eg.Go(func() error { - err := monitor.Start(ctx) + err := monitor.Start(context.Background()) // Signal for the signal-handler goroutines to stop close(doneCh) return err