mirror of https://github.com/containers/podman.git
Merge pull request #4461 from giuseppe/fix-hang
events: make sure the write channel is always closed
This commit is contained in:
commit
2e2d82ce76
|
|
@ -54,6 +54,7 @@ func (e EventJournalD) Write(ee Event) error {
|
|||
|
||||
// Read reads events from the journal and sends qualified events to the event channel
|
||||
func (e EventJournalD) Read(options ReadOptions) error {
|
||||
defer close(options.EventChannel)
|
||||
eventOptions, err := generateEventOptions(options.Filters, options.Since, options.Until)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to generate event options")
|
||||
|
|
@ -87,7 +88,6 @@ func (e EventJournalD) Read(options ReadOptions) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer close(options.EventChannel)
|
||||
for {
|
||||
if _, err := j.Next(); err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ func (e EventLogFile) Write(ee Event) error {
|
|||
|
||||
// Reads from the log file
|
||||
func (e EventLogFile) Read(options ReadOptions) error {
|
||||
defer close(options.EventChannel)
|
||||
eventOptions, err := generateEventOptions(options.Filters, options.Since, options.Until)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "unable to generate event options")
|
||||
|
|
@ -68,7 +69,6 @@ func (e EventLogFile) Read(options ReadOptions) error {
|
|||
options.EventChannel <- event
|
||||
}
|
||||
}
|
||||
close(options.EventChannel)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue