The type and parameter names of recv() should match socket.socket(). OK, easy enough, but in the cases we don't pass straight through to the real socket implementation, we probably can't accept such flags. OK, for now, assert that we don't receive flags in such cases.
Signed-off-by: John Snow <js...@redhat.com> --- python/qemu/console_socket.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/python/qemu/console_socket.py b/python/qemu/console_socket.py index 69f604c77fe..cb3400a0385 100644 --- a/python/qemu/console_socket.py +++ b/python/qemu/console_socket.py @@ -92,13 +92,14 @@ def _drain_socket(self): for c in string: self._buffer.extend(c) - def recv(self, bufsize=1): + def recv(self, bufsize: int = 1, flags: int = 0) -> bytes: """Return chars from in memory buffer. Maintains the same API as socket.socket.recv. """ if self._drain_thread is None: # Not buffering the socket, pass thru to socket. - return socket.socket.recv(self, bufsize) + return socket.socket.recv(self, bufsize, flags) + assert not flags, "Cannot pass flags to recv() in drained mode" start_time = time.time() while len(self._buffer) < bufsize: time.sleep(self._sleep_time) -- 2.26.2