diff options
author | baude <bbaude@redhat.com> | 2018-11-07 10:44:33 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2018-11-07 10:44:33 -0600 |
commit | e022efa0f87b8c0d59ce8efeb370b3eeed145a28 (patch) | |
tree | 7c34987b1112f6c6de27a589f4ec92671d9f9d94 /libpod/container_api.go | |
parent | 48914d67aed53ad793d86c98a6a4e96cfefe7333 (diff) | |
download | podman-e022efa0f87b8c0d59ce8efeb370b3eeed145a28.tar.gz podman-e022efa0f87b8c0d59ce8efeb370b3eeed145a28.tar.bz2 podman-e022efa0f87b8c0d59ce8efeb370b3eeed145a28.zip |
move defer'd function declaration ahead of prepare error return
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/container_api.go')
-rw-r--r-- | libpod/container_api.go | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go index 30c67eb2a..c706c5b30 100644 --- a/libpod/container_api.go +++ b/libpod/container_api.go @@ -46,9 +46,6 @@ func (c *Container) Init(ctx context.Context) (err error) { return errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString) } - if err := c.prepare(); err != nil { - return err - } defer func() { if err != nil { if err2 := c.cleanup(ctx); err2 != nil { @@ -57,6 +54,10 @@ func (c *Container) Init(ctx context.Context) (err error) { } }() + if err := c.prepare(); err != nil { + return err + } + if c.state.State == ContainerStateStopped { // Reinitialize the container return c.reinit(ctx) @@ -99,9 +100,6 @@ func (c *Container) Start(ctx context.Context) (err error) { return errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString) } - if err := c.prepare(); err != nil { - return err - } defer func() { if err != nil { if err2 := c.cleanup(ctx); err2 != nil { @@ -110,6 +108,10 @@ func (c *Container) Start(ctx context.Context) (err error) { } }() + if err := c.prepare(); err != nil { + return err + } + if c.state.State == ContainerStateStopped { // Reinitialize the container if we need to if err := c.reinit(ctx); err != nil { @@ -164,9 +166,6 @@ func (c *Container) StartAndAttach(ctx context.Context, streams *AttachStreams, return nil, errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString) } - if err := c.prepare(); err != nil { - return nil, err - } defer func() { if err != nil { if err2 := c.cleanup(ctx); err2 != nil { @@ -175,6 +174,10 @@ func (c *Container) StartAndAttach(ctx context.Context, streams *AttachStreams, } }() + if err := c.prepare(); err != nil { + return nil, err + } + if c.state.State == ContainerStateStopped { // Reinitialize the container if we need to if err := c.reinit(ctx); err != nil { |