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>
This commit is contained in:
parent
b8d4ca1823
commit
7f5f3ae7d5
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user