浏览代码

Workaround for hanging events. Fixes #4804

Docker-DCO-1.1-Signed-off-by: LK4D4 <lk4d4math@gmail.com> (github: LK4D4)
LK4D4 11 年之前
父节点
当前提交
c7540b3e94
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      server/server.go

+ 4 - 0
server/server.go

@@ -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