From bae8aee21129ce1ad4413d99e5584e41fe6ff780 Mon Sep 17 00:00:00 2001 From: John Fleming Date: Wed, 31 Jan 2024 02:44:20 -0500 Subject: [PATCH] Looks like even with a 30 second timeout you can still get no data. Change flow control from break to continue to keep main loop runnning. --- gns3server/utils/asyncio/sftelnetproxymuxer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gns3server/utils/asyncio/sftelnetproxymuxer.py b/gns3server/utils/asyncio/sftelnetproxymuxer.py index 71c13402..cc20876e 100644 --- a/gns3server/utils/asyncio/sftelnetproxymuxer.py +++ b/gns3server/utils/asyncio/sftelnetproxymuxer.py @@ -59,8 +59,8 @@ class SFTelnetProxyMuxer: # Set a timeout for the read operation, without should() the socket closes after timeout. data = await asyncio.shield(asyncio.wait_for(reader.read((4*1024*1024)), timeout=self.heartbeattimer)) if not data: - log.debug(f"No data. Not sure if this is possible.") - break + log.debug(f"No data from socket read, start over read loop.") + continue if reader.at_eof(): log.info(f"Client {client_info} closed tcp session with eof.") writer.close()