diff options
| author | Stefan Hajnoczi <stefanha@redhat.com> | 2023-09-21 09:30:20 -0400 |
|---|---|---|
| committer | Stefan Hajnoczi <stefanha@redhat.com> | 2023-09-21 09:30:20 -0400 |
| commit | f2df7e7705e832a8a65422c227e9ef1bdac226c1 (patch) | |
| tree | e430be8260e197f6f9dc5673841311762609bfdc /python | |
| parent | 416af8564f4a30f207269307616a9e0b3f3c6570 (diff) | |
| parent | f959c3d87ccfa585b105de6964a6261e368cc1da (diff) | |
| download | focaccia-qemu-f2df7e7705e832a8a65422c227e9ef1bdac226c1.tar.gz focaccia-qemu-f2df7e7705e832a8a65422c227e9ef1bdac226c1.zip | |
Merge tag 'pull-testing-200923-1' of https://gitlab.com/stsquad/qemu into staging
testing updates: - update most Debian to bookworm - fix some typos - update loongarch toolchain - fix microbit test - handle GitLab/Cirrus timeout discrepancy - improve avocado console handling - disable mips avocado images pending bugfix # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmUK/RcACgkQ+9DbCVqe # KkQtYwf/Qu0eQZ8ZM4PsKcW07O76qn3cOphTFeZM01hICeiiMGRnwBVtBGIsdx1r # MaXd7o35tnJRMbUnlGCFUDMWDZaafQIKIlsFwAGTMqgQ+kv+GB22MHpNySRZ9pXl # ed1tOyz8maId4b3ECvGJqJSNOBB1P3tw7rdbFEhuSyXFZKJc79w1nCYjJyEtNpST # CT7AYXJiVLiB4jSB7XH9XrkVTvw4k+PjzmLUFRJoGlik0O7xj2i7zfGO5+VxCm9t # VluEcrlQ5w3JNL69yRhqTtrHAC7bBKqUOaF1bEA//ELNNQn2heuxDeHlDAgOtpV/ # VkShHgWJAwGLishFlv/+tmp5fbU5CQ== # =3Lsz # -----END PGP SIGNATURE----- # gpg: Signature made Wed 20 Sep 2023 10:09:27 EDT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-testing-200923-1' of https://gitlab.com/stsquad/qemu: tests/avocado: Disable MIPS Malta tests due to GitLab issue #1884 tests/avocado: Fix console data loss gitlab: make Cirrus CI jobs gating gitlab: make Cirrus CI timeout explicit qtest: kill orphaned qtest QEMU processes on FreeBSD microbit: add missing qtest_quit() call tests/docker: Update docker-loongarch-cross toolchain gitlab: fix typo/spelling in comments tests: update most Debian images to Bookworm Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'python')
| -rw-r--r-- | python/qemu/machine/machine.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py index c16a0b6fed..35d5a672db 100644 --- a/python/qemu/machine/machine.py +++ b/python/qemu/machine/machine.py @@ -191,6 +191,7 @@ class QEMUMachine: self.sock_dir, f"{self._name}.con" ) self._console_socket: Optional[socket.socket] = None + self._console_file: Optional[socket.SocketIO] = None self._remove_files: List[str] = [] self._user_killed = False self._quit_issued = False @@ -509,6 +510,11 @@ class QEMUMachine: # If we keep the console socket open, we may deadlock waiting # for QEMU to exit, while QEMU is waiting for the socket to # become writable. + if self._console_file is not None: + LOG.debug("Closing console file") + self._console_file.close() + self._console_file = None + if self._console_socket is not None: LOG.debug("Closing console socket") self._console_socket.close() @@ -874,6 +880,7 @@ class QEMUMachine: Returns a socket connected to the console """ if self._console_socket is None: + LOG.debug("Opening console socket") self._console_socket = console_socket.ConsoleSocket( self._console_address, file=self._console_log_path, @@ -881,6 +888,18 @@ class QEMUMachine: return self._console_socket @property + def console_file(self) -> socket.SocketIO: + """ + Returns a file associated with the console socket + """ + if self._console_file is None: + LOG.debug("Opening console file") + self._console_file = self.console_socket.makefile(mode='rb', + buffering=0, + encoding='utf-8') + return self._console_file + + @property def temp_dir(self) -> str: """ Returns a temporary directory to be used for this machine |