diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-28 22:42:53 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-28 22:42:53 +0200 |
commit | 1affceb29f197b0c3dca13391b8eef36e39a175b (patch) | |
tree | f519f4ca23a86b8cbb0a5ac84370ce8148ca6b29 /libpod | |
parent | 653e87dd4c6103e91724e5aa6afa4c78c2ae1922 (diff) | |
download | podman-1affceb29f197b0c3dca13391b8eef36e39a175b.tar.gz podman-1affceb29f197b0c3dca13391b8eef36e39a175b.tar.bz2 podman-1affceb29f197b0c3dca13391b8eef36e39a175b.zip |
runtime: unpause the container before killing it
the new version of runc has the same check in place and it
automatically resume the container if it is paused. So when Podman
tries to resume it again, it fails since the container is not in the
paused state.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2100740
[NO NEW TESTS NEEDED] the CI doesn't use a new runc on cgroup v1 systems.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/runtime_ctr.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go index 459514d47..fafec5e12 100644 --- a/libpod/runtime_ctr.go +++ b/libpod/runtime_ctr.go @@ -664,9 +664,6 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force, remo } if c.state.State == define.ContainerStatePaused { - if err := c.ociRuntime.KillContainer(c, 9, false); err != nil { - return err - } isV2, err := cgroups.IsCgroup2UnifiedMode() if err != nil { return err @@ -677,6 +674,9 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force, remo return err } } + if err := c.ociRuntime.KillContainer(c, 9, false); err != nil { + return err + } // Need to update container state to make sure we know it's stopped if err := c.waitForExitFileAndSync(); err != nil { return err |