diff options
Diffstat (limited to 'python/qemu/machine')
| -rw-r--r-- | python/qemu/machine/machine.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py index e57c254484..c16a0b6fed 100644 --- a/python/qemu/machine/machine.py +++ b/python/qemu/machine/machine.py @@ -337,18 +337,18 @@ class QEMUMachine: self._remove_files.append(self._console_address) if self._qmp_set: - monitor_address = None - sock = None if self._monitor_address is None: self._sock_pair = socket.socketpair() sock = self._sock_pair[1] if isinstance(self._monitor_address, str): self._remove_files.append(self._monitor_address) - monitor_address = self._monitor_address + + sock_or_addr = self._monitor_address or sock + assert sock_or_addr is not None + self._qmp_connection = QEMUMonitorProtocol( - address=monitor_address, - sock=sock, - server=True, + sock_or_addr, + server=bool(self._monitor_address), nickname=self._name ) @@ -370,7 +370,10 @@ class QEMUMachine: if self._sock_pair: self._sock_pair[0].close() if self._qmp_connection: - self._qmp.accept(self._qmp_timer) + if self._sock_pair: + self._qmp.connect() + else: + self._qmp.accept(self._qmp_timer) def _close_qemu_log_file(self) -> None: if self._qemu_log_file is not None: |