From c73fa1691c94541e3b3df30b07333b582b4cdd38 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Tue, 7 Sep 2021 14:09:31 +1000 Subject: tester/telnet: Only reopen once a second - Limit the reopen to once a second - Make sure the socket is closed when reopening --- tester/rt/telnet.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tester') diff --git a/tester/rt/telnet.py b/tester/rt/telnet.py index 4e5e84a..919aa86 100644 --- a/tester/rt/telnet.py +++ b/tester/rt/telnet.py @@ -36,6 +36,7 @@ import errno import os import sys import telnetlib +import time from rtemstoolkit import error from rtemstoolkit import host @@ -71,13 +72,20 @@ class tty: return s def _reopen(self): + if self.conn: + self.conn.close() + time.sleep(1) try: self.conn.open(self.host, self.port, self.timeout) except IOError as ioe: + if self.conn: + self.conn.close() raise error.general('opening telnet: %s:%d: %s' % (self.host, self.port, ioe)) except: + if self.conn: + self.conn.close() raise error.general('opening telnet: %s:%d: unknown' % (self.host, self.port)) @@ -98,7 +106,7 @@ class tty: if ioe.errno == errno.ECONNREFUSED: reopen = True data = '' - except EOFError: + except EOFError as ose: reopen = True data = '' if reopen: -- cgit v1.2.3