Skip to content

Commit ecea7e9

Browse files
committed
qemu: read monitor socket buffer after every write
1 parent 59e63ac commit ecea7e9

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/qemu/driver.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,15 +824,19 @@ func sendQemuShutdown(logger hclog.Logger, monitorPath string, userPid int) erro
824824
return err
825825
}
826826
defer monitorSocket.Close()
827+
buf := make([]byte, 512)
828+
monitorSocket.Read(buf)
827829
logger.Debug("sending qmp_capabilities command to qemu monitor socket", "monitor_path", monitorPath, "pid", userPid)
828830
_, err = monitorSocket.Write([]byte(qemuQmpCapabilitiesMsg))
829831
if err != nil {
830832
logger.Warn("failed to send qmp capabilities message", "qmp capabilities message", qemuGracefulShutdownMsg, "monitorPath", monitorPath, "userPid", userPid, "error", err)
831833
}
834+
monitorSocket.Read(buf)
832835
logger.Debug("sending graceful shutdown command to qemu monitor socket", "monitor_path", monitorPath, "pid", userPid)
833836
_, err = monitorSocket.Write([]byte(qemuGracefulShutdownMsg))
834837
if err != nil {
835838
logger.Warn("failed to send shutdown message", "shutdown message", qemuGracefulShutdownMsg, "monitorPath", monitorPath, "userPid", userPid, "error", err)
836839
}
840+
monitorSocket.Read(buf)
837841
return err
838842
}

0 commit comments

Comments
 (0)