From 9e38132c0a34dad932e56740b5c3801a8f6533b5 Mon Sep 17 00:00:00 2001 From: whitequark Date: Tue, 18 Jul 2017 02:38:22 +0000 Subject: [PATCH] artiq_devtool: don't drop data in unpredictable ways (sigh). --- artiq/frontend/artiq_devtool.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/artiq/frontend/artiq_devtool.py b/artiq/frontend/artiq_devtool.py index 823124033..a602cdd71 100755 --- a/artiq/frontend/artiq_devtool.py +++ b/artiq/frontend/artiq_devtool.py @@ -111,6 +111,7 @@ def main(): client.drain(flterm) elif action == "connect": + transport = client.get_transport() def forwarder(port): listener = socket.socket() listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) @@ -125,24 +126,24 @@ def main(): continue try: - remote_stream = client.get_transport() \ - .open_channel('direct-tcpip', (args.device, port), peer_addr) + remote_stream = \ + transport.open_channel('direct-tcpip', (args.device, port), peer_addr) except Exception as e: logger.exception("Cannot open channel on port %s", port) continue while True: try: - r, w, x = select.select([local_stream, remote_stream], [], []) + r, _, _ = select.select([local_stream, remote_stream], [], []) if local_stream in r: data = local_stream.recv(65535) if data == b"": break - remote_stream.send(data) + remote_stream.sendall(data) if remote_stream in r: data = remote_stream.recv(65535) if data == b"": break - local_stream.send(data) + local_stream.sendall(data) except Exception as e: logger.exception("Forward error on port %s", port) break