summaryrefslogtreecommitdiff
path: root/libpod
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 /libpod
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>
Diffstat (limited to 'libpod')
-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