From 6ea48bc15d7a6ca67b0ae8371c68cc57a572e358 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Mon, 1 Sep 2025 15:35:45 +0200 Subject: [PATCH] fix sigint/sigterm support in logs --follow Signed-off-by: Nicolas De Loof --- pkg/compose/logs.go | 1 + pkg/compose/monitor.go | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/compose/logs.go b/pkg/compose/logs.go index b3b44d53e11..b4479d7585f 100644 --- a/pkg/compose/logs.go +++ b/pkg/compose/logs.go @@ -104,6 +104,7 @@ func (s *composeService) Logs( } }) eg.Go(func() error { + // pass ctx so monitor will immediately stop on SIGINT return monitor.Start(ctx) }) } diff --git a/pkg/compose/monitor.go b/pkg/compose/monitor.go index 6952b4e6816..b0f9cc0affd 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(context.Background(), events.ListOptions{ + evtCh, errCh := c.api.Events(ctx, events.ListOptions{ Filters: filters.NewArgs( filters.Arg("type", "container"), projectFilter(c.project)), @@ -89,6 +89,8 @@ func (c *monitor) Start(ctx context.Context) error { return nil } select { + case <-ctx.Done(): + return nil case err := <-errCh: return err case event := <-evtCh: