diff --git a/engine/resources/pkg.go b/engine/resources/pkg.go index 13eba96c..4b1294af 100644 --- a/engine/resources/pkg.go +++ b/engine/resources/pkg.go @@ -148,7 +148,10 @@ func (obj *PkgRes) Watch() error { send = true obj.init.Dirty() // dirty - case event := <-obj.init.Events: + case event, ok := <-obj.init.Events: + if !ok { + return nil + } if err := obj.init.Read(event); err != nil { return err } diff --git a/engine/resources/svc.go b/engine/resources/svc.go index 8719eb73..9bebbedd 100644 --- a/engine/resources/svc.go +++ b/engine/resources/svc.go @@ -176,7 +176,10 @@ func (obj *SvcRes) Watch() error { // loop so that we can see the changed invalid signal obj.init.Logf("daemon reload") - case event := <-obj.init.Events: + case event, ok := <-obj.init.Events: + if !ok { + return nil + } if err := obj.init.Read(event); err != nil { return err } @@ -222,7 +225,10 @@ func (obj *SvcRes) Watch() error { case err := <-subErrors: return errwrap.Wrapf(err, "unknown %s error", obj) - case event := <-obj.init.Events: + case event, ok := <-obj.init.Events: + if !ok { + return nil + } if err := obj.init.Read(event); err != nil { return err }