diff options
author | Chris Johns <chrisj@rtems.org> | 2021-09-07 14:09:31 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2021-09-09 18:33:54 +1000 |
commit | c73fa1691c94541e3b3df30b07333b582b4cdd38 (patch) | |
tree | 87ebb76db954b6b00ccfa442724b61885f7b57d3 | |
parent | misc/tftprpoxy: Correctly scale the protocol timeout (diff) | |
download | rtems-tools-c73fa1691c94541e3b3df30b07333b582b4cdd38.tar.bz2 |
tester/telnet: Only reopen once a second
- Limit the reopen to once a second
- Make sure the socket is closed when reopening
-rw-r--r-- | tester/rt/telnet.py | 10 |
1 files changed, 9 insertions, 1 deletions
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: |