]> git.proxmox.com Git - mirror_qemu.git/commitdiff
python/machine: close sock_pair in cleanup path
authorJohn Snow <jsnow@redhat.com>
Thu, 28 Sep 2023 04:49:39 +0000 (00:49 -0400)
committerJohn Snow <jsnow@redhat.com>
Wed, 11 Oct 2023 20:02:02 +0000 (16:02 -0400)
If everything has gone smoothly, we'll already have closed the socket we
gave to the child during post_launch. The other half of the pair that we
gave to the QMP connection should, likewise, be definitively closed by
now.

However, in the cleanup path, it's possible we've created the socketpair
but flubbed the launch and need to clean up resources. These resources
*would* be handled by the garbage collector, but that can happen at
unpredictable times. Nicer to just clean them up synchronously on the
exit path, here.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20230928044943.849073-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
python/qemu/machine/machine.py

index 345610d6e461491ff7ebdc62bf0daac11f95924b..e26109e6f0e6fb8a39aee2039a83a2fed368f684 100644 (file)
@@ -396,6 +396,11 @@ class QEMUMachine:
         finally:
             assert self._qmp_connection is None
 
+        if self._sock_pair:
+            self._sock_pair[0].close()
+            self._sock_pair[1].close()
+            self._sock_pair = None
+
         self._close_qemu_log_file()
 
         self._load_io_log()