Improve hyperkit vm stop

pull/4638/head
Jose Donizetti 2019-06-28 20:36:36 -03:00 committed by Medya Ghazizadeh
parent 9dfe660c64
commit 7fe2247692
1 changed files with 20 additions and 1 deletions

View File

@ -346,7 +346,26 @@ func (d *Driver) Stop() error {
return err
}
d.cleanupNfsExports()
return d.sendSignal(syscall.SIGTERM)
err := d.sendSignal(syscall.SIGTERM)
if err != nil {
return errors.Wrap(err, fmt.Sprintf("hyperkit sigterm failed"))
}
// wait 5s for graceful shutdown
for i := 0; i < 5; i++ {
log.Debug("waiting for graceful shutdown")
time.Sleep(time.Second * 1)
s, err := d.GetState()
if err != nil {
return errors.Wrap(err, fmt.Sprintf("hyperkit waiting graceful shutdown failed"))
}
if s == state.Stopped {
return nil
}
}
log.Debug("sending sigkill")
return d.Kill()
}
func (d *Driver) extractKernel(isoPath string) error {