Merge pull request #2874 from jeanlaurent/rm-infinite-loop

Fix infinite loop when deleting machine in ultra weird state
This commit is contained in:
Jean-Laurent de Morlhon 2016-01-19 16:55:55 +01:00
commit 62bcc30859
1 changed files with 3 additions and 9 deletions

View File

@ -615,7 +615,7 @@ func (d *Driver) Kill() error {
}
func (d *Driver) Remove() error {
s, err := d.GetState()
_, err := d.GetState()
if err != nil {
if err == ErrMachineNotExist {
log.Infof("machine does not exist, assuming it has been removed already")
@ -623,14 +623,8 @@ func (d *Driver) Remove() error {
}
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 {
return err
}
if err := d.Kill(); err != nil {
return err
}
// vbox will not release it's lock immediately after the stop
d.sleeper.Sleep(1 * time.Second)