Workaround for hanging events. Fixes #4804

Docker-DCO-1.1-Signed-off-by: LK4D4 <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: c7540b3e94d7712b6b91ba80de0155f20156f3f3
Component: engine
This commit is contained in:
LK4D4
2014-03-24 22:31:05 +04:00
parent 90b90efe51
commit ec5934f5dd

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