From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: John Snow <jsnow@redhat.com>,
qemu-block@nongnu.org, Beraldo Leal <bleal@redhat.com>,
Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Daniel Berrange <berrange@redhat.com>,
Cleber Rosa <crosa@redhat.com>
Subject: [PATCH 2/4] python/console_socket: accept existing FD in initializer
Date: Thu, 20 Jul 2023 09:04:46 -0400 [thread overview]
Message-ID: <20230720130448.921356-3-jsnow@redhat.com> (raw)
In-Reply-To: <20230720130448.921356-1-jsnow@redhat.com>
Useful if we want to use ConsoleSocket() for a socket created by
socketpair().
Signed-off-by: John Snow <jsnow@redhat.com>
---
python/qemu/machine/console_socket.py | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/python/qemu/machine/console_socket.py b/python/qemu/machine/console_socket.py
index 4e28ba9bb2..42bfa12411 100644
--- a/python/qemu/machine/console_socket.py
+++ b/python/qemu/machine/console_socket.py
@@ -17,7 +17,7 @@
import socket
import threading
import time
-from typing import Deque, Optional
+from typing import Deque, Optional, Union
class ConsoleSocket(socket.socket):
@@ -30,13 +30,16 @@ class ConsoleSocket(socket.socket):
Optionally a file path can be passed in and we will also
dump the characters to this file for debugging purposes.
"""
- def __init__(self, address: str, file: Optional[str] = None,
+ def __init__(self, address: Union[str, int], file: Optional[str] = None,
drain: bool = False):
self._recv_timeout_sec = 300.0
self._sleep_time = 0.5
self._buffer: Deque[int] = deque()
- socket.socket.__init__(self, socket.AF_UNIX, socket.SOCK_STREAM)
- self.connect(address)
+ if isinstance(address, str):
+ socket.socket.__init__(self, socket.AF_UNIX, socket.SOCK_STREAM)
+ self.connect(address)
+ else:
+ socket.socket.__init__(self, fileno=address)
self._logfile = None
if file:
# pylint: disable=consider-using-with
--
2.41.0
next prev parent reply other threads:[~2023-07-20 13:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-20 13:04 [PATCH 0/4] python/machine: use socketpair() for console socket John Snow
2023-07-20 13:04 ` [PATCH 1/4] python/machine: move socket setup out of _base_args property John Snow
2023-07-20 13:55 ` Daniel P. Berrangé
2023-07-20 13:04 ` John Snow [this message]
2023-07-20 14:01 ` [PATCH 2/4] python/console_socket: accept existing FD in initializer Daniel P. Berrangé
2023-07-20 14:35 ` John Snow
2023-07-20 13:04 ` [PATCH 3/4] python/machine: use socketpair() for console connections John Snow
2023-07-20 14:02 ` Daniel P. Berrangé
2023-07-20 13:04 ` [PATCH 4/4] python/machine: remove unused console socket configuration arguments John Snow
2023-07-20 14:04 ` Daniel P. Berrangé
2023-07-20 14:29 ` John Snow
2023-07-20 13:45 ` [PATCH 0/4] python/machine: use socketpair() for console socket Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230720130448.921356-3-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).