diff options
author | Matthew Heon <matthew.heon@pm.me> | 2019-07-31 17:22:08 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2019-07-31 17:29:14 -0400 |
commit | 9dcd76e369fb163774f8f58a7da24a7899e95b60 (patch) | |
tree | 0275103226e0625c33a17b24ca5d24097a6e48aa /libpod/runtime_ctr.go | |
parent | ef2d96a7a84f1ad7567d6e6ead9e46f9459a530b (diff) | |
download | podman-9dcd76e369fb163774f8f58a7da24a7899e95b60.tar.gz podman-9dcd76e369fb163774f8f58a7da24a7899e95b60.tar.bz2 podman-9dcd76e369fb163774f8f58a7da24a7899e95b60.zip |
Ensure we generate a 'stopped' event on force-remove
When forcibly removing a container, we are initiating an explicit
stop of the container, which is not reflected in 'podman events'.
Swap to using our standard 'stop()' function instead of a custom
one for force-remove, and move the event into the internal stop
function (so internal calls also register it).
This does add one more database save() to `podman remove`. This
should not be a terribly serious performance hit, and does have
the desirable side effect of making things generally safer.
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/runtime_ctr.go')
-rw-r--r-- | libpod/runtime_ctr.go | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go index e57ab4634..47d49f6aa 100644 --- a/libpod/runtime_ctr.go +++ b/libpod/runtime_ctr.go @@ -394,14 +394,9 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force bool, // Check that the container's in a good state to be removed if c.state.State == config2.ContainerStateRunning { - if err := c.ociRuntime.stopContainer(c, c.StopTimeout()); err != nil { + if err := c.stop(c.StopTimeout()); err != nil { return errors.Wrapf(err, "cannot remove container %s as it could not be stopped", c.ID()) } - - // Need to update container state to make sure we know it's stopped - if err := c.waitForExitFileAndSync(); err != nil { - return err - } } // Check that all of our exec sessions have finished |