diff options
author | John Snow <jsnow@redhat.com> | 2023-05-17 12:34:04 -0400 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2023-05-31 16:25:35 -0400 |
commit | 7f5f3ae7d589d9297b2903e79cba1492807883d4 (patch) | |
tree | 5f6187105969e9289d40b76fa9f9a7353145a031 /python | |
parent | b8d4ca18233dbd7c215c67b00fd3eb7887cf2b82 (diff) |
python/machine: use connect-based interface for existing sockets
Instead of using accept() with sockets (which uses open_with_socket()),
use calls to connect() to utilize existing sockets instead. A benefit of
this is more robust error handling already present within the connect()
call that isn't present in open_with_socket().
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20230517163406.2593480-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'python')
-rw-r--r-- | python/qemu/machine/machine.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py index e57c254484..cc636cb6bd 100644 --- a/python/qemu/machine/machine.py +++ b/python/qemu/machine/machine.py @@ -337,18 +337,17 @@ 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 + self._qmp_connection = QEMUMonitorProtocol( - address=monitor_address, + address=self._monitor_address, sock=sock, - server=True, + server=bool(self._monitor_address), nickname=self._name ) @@ -370,7 +369,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: |