summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2022-06-28 22:42:53 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2022-06-28 22:42:53 +0200
commit1affceb29f197b0c3dca13391b8eef36e39a175b (patch)
treef519f4ca23a86b8cbb0a5ac84370ce8148ca6b29
parent653e87dd4c6103e91724e5aa6afa4c78c2ae1922 (diff)
downloadpodman-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>
-rw-r--r--libpod/runtime_ctr.go6
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