diff options
Diffstat (limited to 'libpod/events')
-rw-r--r-- | libpod/events/filters.go | 2 | ||||
-rw-r--r-- | libpod/events/journal_linux.go | 7 | ||||
-rw-r--r-- | libpod/events/logfile.go | 8 |
3 files changed, 16 insertions, 1 deletions
diff --git a/libpod/events/filters.go b/libpod/events/filters.go index 99feab79c..c50474007 100644 --- a/libpod/events/filters.go +++ b/libpod/events/filters.go @@ -4,7 +4,7 @@ import ( "strings" "time" - "github.com/containers/libpod/v2/pkg/util" + "github.com/containers/podman/v2/pkg/util" "github.com/pkg/errors" ) diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go index d341ca7b5..7c2a3e0f2 100644 --- a/libpod/events/journal_linux.go +++ b/libpod/events/journal_linux.go @@ -90,6 +90,13 @@ func (e EventJournalD) Read(ctx context.Context, options ReadOptions) error { return err } for { + select { + case <-ctx.Done(): + // the consumer has cancelled + return nil + default: + // fallthrough + } if _, err := j.Next(); err != nil { return err } diff --git a/libpod/events/logfile.go b/libpod/events/logfile.go index 28d0dc07e..b70102450 100644 --- a/libpod/events/logfile.go +++ b/libpod/events/logfile.go @@ -63,6 +63,14 @@ func (e EventLogFile) Read(ctx context.Context, options ReadOptions) error { } }() for line := range t.Lines { + select { + case <-ctx.Done(): + // the consumer has cancelled + return nil + default: + // fallthrough + } + event, err := newEventFromJSONString(line.Text) if err != nil { return err |