From 9456040acb746dccf65e700563fb7371a03f79e6 Mon Sep 17 00:00:00 2001 From: Seth Pellegrino Date: Fri, 10 Jan 2020 14:26:03 -0800 Subject: [PATCH] fix: eventfd leak Only start watching the cgroup for OOMs when the first process starts instead of on every process. Signed-off-by: Seth Pellegrino --- runtime/v2/runc/v1/service.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/runtime/v2/runc/v1/service.go b/runtime/v2/runc/v1/service.go index 14af5fe54..fcc753613 100644 --- a/runtime/v2/runc/v1/service.go +++ b/runtime/v2/runc/v1/service.go @@ -271,15 +271,15 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (*taskAPI. s.eventSendMu.Unlock() return nil, errdefs.ToGRPC(err) } - if cg, ok := container.Cgroup().(cgroups.Cgroup); ok { - if err := s.ep.Add(container.ID, cg); err != nil { - logrus.WithError(err).Error("add cg to OOM monitor") - } - } else { - logrus.WithError(errdefs.ErrNotImplemented).Error("add cg to OOM monitor") - } switch r.ExecID { case "": + if cg, ok := container.Cgroup().(cgroups.Cgroup); ok { + if err := s.ep.Add(container.ID, cg); err != nil { + logrus.WithError(err).Error("add cg to OOM monitor") + } + } else { + logrus.WithError(errdefs.ErrNotImplemented).Error("add cg to OOM monitor") + } s.send(&eventstypes.TaskStart{ ContainerID: container.ID, Pid: uint32(p.Pid()),