Don't run agent task after close

Fix send on closed channel panic.
This commit is contained in:
Atsushi Watanabe
2020-05-02 21:56:09 -07:00
committed by Sean DuBois
parent 49ac1615b9
commit 88b716cb3b
+9 -3
View File
@@ -191,10 +191,16 @@ func (a *Agent) run(t func(*Agent)) error {
case <-a.done:
return a.getErr()
case a.muChan <- struct{}{}:
t(a)
var err error
select {
case <-a.done:
// Ensure the agent is not closed
err = a.getErr()
default:
t(a)
}
<-a.muChan
return nil
return err
}
}