summaryrefslogtreecommitdiff
path: root/libpod/container_internal.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-11-07 10:55:51 -0800
committerGitHub <noreply@github.com>2018-11-07 10:55:51 -0800
commit1370c311f57673d6e3bfc529bc9819d472cfcecb (patch)
treecb9e53bea2c651c9c88c522b3c622def94037bbc /libpod/container_internal.go
parentae031378619ba78bcd22a3c2ee9b276506c1dbd3 (diff)
parente022efa0f87b8c0d59ce8efeb370b3eeed145a28 (diff)
downloadpodman-1370c311f57673d6e3bfc529bc9819d472cfcecb.tar.gz
podman-1370c311f57673d6e3bfc529bc9819d472cfcecb.tar.bz2
podman-1370c311f57673d6e3bfc529bc9819d472cfcecb.zip
Merge pull request #1771 from baude/prepare
move defer'd function declaration ahead of prepare error return
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r--libpod/container_internal.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go
index b523c89e3..6843759a6 100644
--- a/libpod/container_internal.go
+++ b/libpod/container_internal.go
@@ -697,9 +697,6 @@ func (c *Container) initAndStart(ctx context.Context) (err error) {
return errors.Wrapf(ErrCtrStateInvalid, "cannot start paused container %s", c.ID())
}
- if err := c.prepare(); err != nil {
- return err
- }
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@@ -708,6 +705,10 @@ func (c *Container) initAndStart(ctx context.Context) (err error) {
}
}()
+ if err := c.prepare(); err != nil {
+ return err
+ }
+
// If we are ContainerStateStopped we need to remove from runtime
// And reset to ContainerStateConfigured
if c.state.State == ContainerStateStopped {
@@ -788,9 +789,6 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (err e
return err
}
}
- if err := c.prepare(); err != nil {
- return err
- }
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@@ -798,6 +796,9 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (err e
}
}
}()
+ if err := c.prepare(); err != nil {
+ return err
+ }
if c.state.State == ContainerStateStopped {
// Reinitialize the container if we need to