Merge pull request #3956 from sethp-nr/fix/eventfd-leak
fix: eventfd leak
This commit is contained in:
commit
c55bd87f47
@ -271,15 +271,15 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (*taskAPI.
|
|||||||
s.eventSendMu.Unlock()
|
s.eventSendMu.Unlock()
|
||||||
return nil, errdefs.ToGRPC(err)
|
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 {
|
switch r.ExecID {
|
||||||
case "":
|
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{
|
s.send(&eventstypes.TaskStart{
|
||||||
ContainerID: container.ID,
|
ContainerID: container.ID,
|
||||||
Pid: uint32(p.Pid()),
|
Pid: uint32(p.Pid()),
|
||||||
|
@ -330,27 +330,28 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (*taskAPI.
|
|||||||
s.eventSendMu.Unlock()
|
s.eventSendMu.Unlock()
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
switch cg := container.Cgroup().(type) {
|
|
||||||
case cgroups.Cgroup:
|
|
||||||
if err := s.ep.Add(container.ID, cg); err != nil {
|
|
||||||
logrus.WithError(err).Error("add cg to OOM monitor")
|
|
||||||
}
|
|
||||||
case *cgroupsv2.Manager:
|
|
||||||
allControllers, err := cg.RootControllers()
|
|
||||||
if err != nil {
|
|
||||||
logrus.WithError(err).Error("failed to get root controllers")
|
|
||||||
} else {
|
|
||||||
if err := cg.ToggleControllers(allControllers, cgroupsv2.Enable); err != nil {
|
|
||||||
logrus.WithError(err).Errorf("failed to enable controllers (%v)", allControllers)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// OOM monitor is not implemented yet
|
|
||||||
logrus.WithError(errdefs.ErrNotImplemented).Warn("add cg to OOM monitor")
|
|
||||||
}
|
|
||||||
|
|
||||||
switch r.ExecID {
|
switch r.ExecID {
|
||||||
case "":
|
case "":
|
||||||
|
switch cg := container.Cgroup().(type) {
|
||||||
|
case cgroups.Cgroup:
|
||||||
|
if err := s.ep.Add(container.ID, cg); err != nil {
|
||||||
|
logrus.WithError(err).Error("add cg to OOM monitor")
|
||||||
|
}
|
||||||
|
case *cgroupsv2.Manager:
|
||||||
|
allControllers, err := cg.RootControllers()
|
||||||
|
if err != nil {
|
||||||
|
logrus.WithError(err).Error("failed to get root controllers")
|
||||||
|
} else {
|
||||||
|
if err := cg.ToggleControllers(allControllers, cgroupsv2.Enable); err != nil {
|
||||||
|
logrus.WithError(err).Errorf("failed to enable controllers (%v)", allControllers)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OOM monitor is not implemented yet
|
||||||
|
logrus.WithError(errdefs.ErrNotImplemented).Warn("add cg to OOM monitor")
|
||||||
|
}
|
||||||
|
|
||||||
s.send(&eventstypes.TaskStart{
|
s.send(&eventstypes.TaskStart{
|
||||||
ContainerID: container.ID,
|
ContainerID: container.ID,
|
||||||
Pid: uint32(p.Pid()),
|
Pid: uint32(p.Pid()),
|
||||||
|
Loading…
Reference in New Issue
Block a user