From 565f93531eae65ca85c286bf6bd2aa07eb713976 Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Wed, 22 Apr 2020 11:45:31 -0700 Subject: V2 restore libpod.Shutdown() when exiting podman commands Signed-off-by: Jhon Honce --- pkg/domain/infra/abi/containers.go | 7 +++++++ pkg/domain/infra/abi/images.go | 7 +++++++ pkg/domain/infra/abi/runtime.go | 4 ++++ 3 files changed, 18 insertions(+) (limited to 'pkg/domain/infra/abi') diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go index 73a0d8ec3..a77b18ce1 100644 --- a/pkg/domain/infra/abi/containers.go +++ b/pkg/domain/infra/abi/containers.go @@ -957,3 +957,10 @@ func (ic *ContainerEngine) ContainerPort(ctx context.Context, nameOrId string, o } return reports, nil } + +// Shutdown Libpod engine +func (ic *ContainerEngine) Shutdown(_ context.Context) { + shutdownSync.Do(func() { + _ = ic.Libpod.Shutdown(false) + }) +} diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go index d0b7b42b5..bed59b379 100644 --- a/pkg/domain/infra/abi/images.go +++ b/pkg/domain/infra/abi/images.go @@ -553,3 +553,10 @@ func (ir *ImageEngine) Remove(ctx context.Context, images []string, opts entitie return } + +// Shutdown Libpod engine +func (ir *ImageEngine) Shutdown(_ context.Context) { + shutdownSync.Do(func() { + _ = ir.Libpod.Shutdown(false) + }) +} diff --git a/pkg/domain/infra/abi/runtime.go b/pkg/domain/infra/abi/runtime.go index 7394cadfc..fba422d8e 100644 --- a/pkg/domain/infra/abi/runtime.go +++ b/pkg/domain/infra/abi/runtime.go @@ -1,6 +1,8 @@ package abi import ( + "sync" + "github.com/containers/libpod/libpod" ) @@ -13,3 +15,5 @@ type ImageEngine struct { type ContainerEngine struct { Libpod *libpod.Runtime } + +var shutdownSync sync.Once -- cgit v1.2.3-54-g00ecf