[PATCH v2 3/5] tester/telnet: Only reopen once a second

Kinsey Moore kinsey.moore at oarcorp.com
Wed Sep 8 13:04:56 UTC 2021


Looks good to me.

On 9/6/2021 23:31, chrisj at rtems.org wrote:
> From: Chris Johns <chrisj at rtems.org>
>
> - 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 devel mailing list