diff --git a/src/runtime/containerd-shim-v2/start.go b/src/runtime/containerd-shim-v2/start.go index 20435e7c40..c257c2504c 100644 --- a/src/runtime/containerd-shim-v2/start.go +++ b/src/runtime/containerd-shim-v2/start.go @@ -38,7 +38,7 @@ func startContainer(ctx context.Context, s *service, c *container) error { go watchSandbox(s) // Start watching for oom events - go watchOOMEvents(s) + go watchOOMEvents(ctx, s) } else { _, err := s.sandbox.StartContainer(c.id) if err != nil { diff --git a/src/runtime/containerd-shim-v2/wait.go b/src/runtime/containerd-shim-v2/wait.go index 5059fa478b..06da508135 100644 --- a/src/runtime/containerd-shim-v2/wait.go +++ b/src/runtime/containerd-shim-v2/wait.go @@ -6,6 +6,7 @@ package containerdshim import ( + "context" "path" "time" @@ -128,14 +129,14 @@ func watchSandbox(s *service) { // No need to send async events here. } -func watchOOMEvents(s *service) { +func watchOOMEvents(ctx context.Context, s *service) { if s.sandbox == nil { return } for { select { - case <-s.ctx.Done(): + case <-ctx.Done(): return default: containerID, err := s.sandbox.GetOOMEvent() diff --git a/src/runtime/virtcontainers/kata_agent.go b/src/runtime/virtcontainers/kata_agent.go index 6e88fcbba5..1726bba0da 100644 --- a/src/runtime/virtcontainers/kata_agent.go +++ b/src/runtime/virtcontainers/kata_agent.go @@ -2389,9 +2389,8 @@ func (k *kataAgent) getOOMEvent() (string, error) { if err != nil { return "", err } - oomEvent, ok := result.(*grpc.OOMEvent) - if ok { - return oomEvent.ContainerId, err + if oomEvent, ok := result.(*grpc.OOMEvent); ok { + return oomEvent.ContainerId, nil } return "", err }