[rtems-tools commit] tester/telnet: Only reopen once a second

Chris Johns chrisj at rtems.org
Thu Sep 9 08:32:25 UTC 2021


Module:    rtems-tools
Branch:    master
Commit:    c73fa1691c94541e3b3df30b07333b582b4cdd38
Changeset: http://git.rtems.org/rtems-tools/commit/?id=c73fa1691c94541e3b3df30b07333b582b4cdd38

Author:    Chris Johns <chrisj at rtems.org>
Date:      Tue Sep  7 14:09:31 2021 +1000

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(-)

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:



More information about the vc mailing list