mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-31 08:28:34 +00:00
Merge pull request #6967 from beraldoleal/issues/6757-backport
runtime: sending SIGKILL to qemu (backport to 3.1)
This commit is contained in:
@@ -1108,22 +1108,21 @@ func (q *qemu) StopVM(ctx context.Context, waitOnly bool) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
pids := q.GetPids()
|
||||
if len(pids) == 0 {
|
||||
return errors.New("cannot determine QEMU PID")
|
||||
}
|
||||
pid := pids[0]
|
||||
|
||||
if waitOnly {
|
||||
pids := q.GetPids()
|
||||
if len(pids) == 0 {
|
||||
return errors.New("cannot determine QEMU PID")
|
||||
}
|
||||
|
||||
pid := pids[0]
|
||||
|
||||
err := utils.WaitLocalProcess(pid, qemuStopSandboxTimeoutSecs, syscall.Signal(0), q.Logger())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
err := q.qmpMonitorCh.qmp.ExecuteQuit(q.qmpMonitorCh.ctx)
|
||||
err = syscall.Kill(pid, syscall.SIGKILL)
|
||||
if err != nil {
|
||||
q.Logger().WithError(err).Error("Fail to execute qmp QUIT")
|
||||
q.Logger().WithError(err).Error("Fail to send SIGKILL to qemu")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user