diff options
author | Paul Holzinger <pholzing@redhat.com> | 2022-09-09 11:43:20 +0200 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2022-09-12 18:05:17 +0200 |
commit | 138b09c7e28de336717191ec79c0b0bdf61b448a (patch) | |
tree | dc845fe7b3870b6f2be04227912e91548ba46145 /cmd | |
parent | c5bdb6afe741d34c32f779b6ef9508b6f1d05794 (diff) | |
download | podman-138b09c7e28de336717191ec79c0b0bdf61b448a.tar.gz podman-138b09c7e28de336717191ec79c0b0bdf61b448a.tar.bz2 podman-138b09c7e28de336717191ec79c0b0bdf61b448a.zip |
event backend none: return an error when reading events
podman --events-backend none events should return with an error since it
will never be able to actually list events.
Fixes part three of #15688
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/system/events.go | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/cmd/podman/system/events.go b/cmd/podman/system/events.go index 3c6a35e83..57279bb02 100644 --- a/cmd/podman/system/events.go +++ b/cmd/podman/system/events.go @@ -99,25 +99,28 @@ func eventsCmd(cmd *cobra.Command, _ []string) error { errChannel <- err }() - for event := range eventChannel { - switch { - case event == nil: - // no-op - case doJSON: - jsonStr, err := event.ToJSONString() - if err != nil { - return err + for { + select { + case err := <-errChannel: + return err + case event := <-eventChannel: + switch { + case event == nil: + // no-op + case doJSON: + jsonStr, err := event.ToJSONString() + if err != nil { + return err + } + fmt.Println(jsonStr) + case cmd.Flags().Changed("format"): + if err := rpt.Execute(event); err != nil { + return err + } + os.Stdout.WriteString("\n") + default: + fmt.Println(event.ToHumanReadable(!noTrunc)) } - fmt.Println(jsonStr) - case cmd.Flags().Changed("format"): - if err := rpt.Execute(event); err != nil { - return err - } - os.Stdout.WriteString("\n") - default: - fmt.Println(event.ToHumanReadable(!noTrunc)) } } - - return <-errChannel } |