Fix server leaking events
Solves #6843. Docker-DCO-1.1-Signed-off-by: Samuel Reis <srijs@airpost.net> (github: srijs) Upstream-commit: 5d4986c755526ad5d249ba96eb6213ce089a9c25 Component: engine
This commit is contained in:
@@ -2463,8 +2463,14 @@ func (srv *Server) LogEvent(action, id, from string) *utils.JSONMessage {
|
||||
|
||||
func (srv *Server) AddEvent(jm utils.JSONMessage) {
|
||||
srv.Lock()
|
||||
defer srv.Unlock()
|
||||
srv.events = append(srv.events, jm)
|
||||
if len(srv.events) == cap(srv.events) {
|
||||
// discard oldest event
|
||||
copy(srv.events, srv.events[1:])
|
||||
srv.events[len(srv.events)-1] = jm
|
||||
} else {
|
||||
srv.events = append(srv.events, jm)
|
||||
}
|
||||
srv.Unlock()
|
||||
}
|
||||
|
||||
func (srv *Server) GetEvents() []utils.JSONMessage {
|
||||
|
||||
Reference in New Issue
Block a user