containerd-shim-runc-v2: remove unnecessary s.getContainer()

Previous code has already called `getContainer()`, just pass it into
`s.getContainerPids` to reduce unnecessary lock and map lookup.

Signed-off-by: Chen Yiyang <cyyzero@qq.com>
This commit is contained in:
Chen Yiyang 2023-09-16 19:33:18 +08:00 committed by Sigma
parent 3a3d5dee15
commit 6604ff6c55

View File

@ -462,7 +462,7 @@ func (s *service) Pids(ctx context.Context, r *taskAPI.PidsRequest) (*taskAPI.Pi
if err != nil {
return nil, err
}
pids, err := s.getContainerPids(ctx, r.ID)
pids, err := s.getContainerPids(ctx, container)
if err != nil {
return nil, errdefs.ToGRPC(err)
}
@ -664,16 +664,12 @@ func (s *service) handleProcessExit(e runcC.Exit, c *runc.Container, p process.P
})
}
func (s *service) getContainerPids(ctx context.Context, id string) ([]uint32, error) {
container, err := s.getContainer(id)
if err != nil {
return nil, err
}
func (s *service) getContainerPids(ctx context.Context, container *runc.Container) ([]uint32, error) {
p, err := container.Process("")
if err != nil {
return nil, errdefs.ToGRPC(err)
}
ps, err := p.(*process.Init).Runtime().Ps(ctx, id)
ps, err := p.(*process.Init).Runtime().Ps(ctx, container.ID)
if err != nil {
return nil, err
}