1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #36815 from allencloud/simplify-ode

refactor: simplify code to make function getExecConfig  more readable
This commit is contained in:
Brian Goff 2018-05-11 10:06:33 -04:00 committed by GitHub
commit 6433683887
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,29 +44,29 @@ func (d *Daemon) ExecExists(name string) (bool, error) {
// with the exec instance is stopped or paused, it will return an error. // with the exec instance is stopped or paused, it will return an error.
func (d *Daemon) getExecConfig(name string) (*exec.Config, error) { func (d *Daemon) getExecConfig(name string) (*exec.Config, error) {
ec := d.execCommands.Get(name) ec := d.execCommands.Get(name)
if ec == nil {
return nil, errExecNotFound(name)
}
// If the exec is found but its container is not in the daemon's list of // If the exec is found but its container is not in the daemon's list of
// containers then it must have been deleted, in which case instead of // containers then it must have been deleted, in which case instead of
// saying the container isn't running, we should return a 404 so that // saying the container isn't running, we should return a 404 so that
// the user sees the same error now that they will after the // the user sees the same error now that they will after the
// 5 minute clean-up loop is run which erases old/dead execs. // 5 minute clean-up loop is run which erases old/dead execs.
container := d.containers.Get(ec.ContainerID)
if ec != nil { if container == nil {
if container := d.containers.Get(ec.ContainerID); container != nil { return nil, containerNotFound(name)
if !container.IsRunning() {
return nil, fmt.Errorf("Container %s is not running: %s", container.ID, container.State.String())
}
if container.IsPaused() {
return nil, errExecPaused(container.ID)
}
if container.IsRestarting() {
return nil, errContainerIsRestarting(container.ID)
}
return ec, nil
}
} }
if !container.IsRunning() {
return nil, errExecNotFound(name) return nil, fmt.Errorf("Container %s is not running: %s", container.ID, container.State.String())
}
if container.IsPaused() {
return nil, errExecPaused(container.ID)
}
if container.IsRestarting() {
return nil, errContainerIsRestarting(container.ID)
}
return ec, nil
} }
func (d *Daemon) unregisterExecCommand(container *container.Container, execConfig *exec.Config) { func (d *Daemon) unregisterExecCommand(container *container.Container, execConfig *exec.Config) {