From f9497861c8c7ebe1363a02646eb7143d6caaa1c8 Mon Sep 17 00:00:00 2001 From: Alexandr Morozov Date: Thu, 5 Jun 2014 13:35:24 +0400 Subject: [PATCH] Fix race in LogEvent Docker-DCO-1.1-Signed-off-by: Alexandr Morozov (github: LK4D4) Upstream-commit: a1b7a35c90f05b113b7c3aa474b74d1d2afbf7b6 Component: engine --- components/engine/server/server.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/engine/server/server.go b/components/engine/server/server.go index af62db879d..76a51e796f 100644 --- a/components/engine/server/server.go +++ b/components/engine/server/server.go @@ -2402,12 +2402,14 @@ func (srv *Server) LogEvent(action, id, from string) *utils.JSONMessage { now := time.Now().UTC().Unix() jm := utils.JSONMessage{Status: action, ID: id, From: from, Time: now} srv.AddEvent(jm) + srv.Lock() for _, c := range srv.listeners { select { // non blocking channel case c <- jm: default: } } + srv.Unlock() return &jm }