DebugClients/Python/DebugClientBase.py

changeset 6847
5150e076014b
parent 6735
31e263d49c04
child 6849
cf82e985940a
diff -r 5e1afd1577b9 -r 5150e076014b DebugClients/Python/DebugClientBase.py
--- a/DebugClients/Python/DebugClientBase.py	Wed Mar 06 18:44:29 2019 +0100
+++ b/DebugClients/Python/DebugClientBase.py	Sun Mar 10 15:05:44 2019 +0100
@@ -19,6 +19,7 @@
 import re
 import atexit
 import signal
+import time
 
 
 import DebugClientCapabilities
@@ -1987,8 +1988,17 @@
             family = socket.AF_INET
         else:
             family = socket.AF_INET6
-        return socket.getaddrinfo(host, None, family,
-                                  socket.SOCK_STREAM)[0][4][0]
+        
+        retryCount = 0
+        while retryCount < 10:
+            try:
+                addrinfo = socket.getaddrinfo(
+                    host, None, family, socket.SOCK_STREAM)
+                return addrinfo[0][4][0]
+            except Exception:
+                retryCount += 1
+                time.sleep(3)
+        return None
     
     def main(self):
         """
@@ -2073,16 +2083,13 @@
                 except (ValueError, IndexError):
                     redirect = True
             
-            try:
-                ipOrHost = sys.argv[3]
-                if ':' in ipOrHost:
-                    remoteAddress = ipOrHost
-                elif ipOrHost[0] in '0123456789':
-                    remoteAddress = ipOrHost
-                else:
-                    remoteAddress = self.__resolveHost(ipOrHost)
-            except Exception:
-                remoteAddress = None
+            ipOrHost = sys.argv[3]
+            if ':' in ipOrHost:
+                remoteAddress = ipOrHost
+            elif ipOrHost[0] in '0123456789':
+                remoteAddress = ipOrHost
+            else:
+                remoteAddress = self.__resolveHost(ipOrHost)
             
             sys.argv = ['']
             if '' not in sys.path:

eric ide

mercurial