Workaround for hanging events. Fixes #4804
Upstream-commit: dece260f3aef2c98c95f3f06ff5ffbf1da3b1f39
Component: engine
This commit is contained in:
Michael Crosby
2014-03-24 16:26:50 -07:00

View File

@ -222,6 +222,10 @@ func (srv *Server) Events(job *engine.Job) engine.Status {
listener := make(chan utils.JSONMessage)
srv.Lock()
if old, ok := srv.listeners[from]; ok {
delete(srv.listeners, from)
close(old)
}
srv.listeners[from] = listener
srv.Unlock()
job.Stdout.Write(nil) // flush