mirror of https://github.com/docker/docs.git
Merge pull request #2874 from jeanlaurent/rm-infinite-loop
Fix infinite loop when deleting machine in ultra weird state
This commit is contained in:
commit
62bcc30859
|
@ -615,7 +615,7 @@ func (d *Driver) Kill() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Driver) Remove() error {
|
func (d *Driver) Remove() error {
|
||||||
s, err := d.GetState()
|
_, err := d.GetState()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == ErrMachineNotExist {
|
if err == ErrMachineNotExist {
|
||||||
log.Infof("machine does not exist, assuming it has been removed already")
|
log.Infof("machine does not exist, assuming it has been removed already")
|
||||||
|
@ -623,15 +623,9 @@ func (d *Driver) Remove() error {
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if s == state.Running {
|
|
||||||
if err := d.Stop(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else if s != state.Stopped {
|
|
||||||
if err := d.Kill(); err != nil {
|
if err := d.Kill(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// vbox will not release it's lock immediately after the stop
|
// vbox will not release it's lock immediately after the stop
|
||||||
d.sleeper.Sleep(1 * time.Second)
|
d.sleeper.Sleep(1 * time.Second)
|
||||||
return d.vbm("unregistervm", "--delete", d.MachineName)
|
return d.vbm("unregistervm", "--delete", d.MachineName)
|
||||||
|
|
Loading…
Reference in New Issue