diff --git a/src/debugpy/adapter/clients.py b/src/debugpy/adapter/clients.py index 2b11c740..917d0ae4 100644 --- a/src/debugpy/adapter/clients.py +++ b/src/debugpy/adapter/clients.py @@ -473,12 +473,12 @@ class Client(components.Component): '"processId" and "subProcessId" are mutually exclusive' ) + localhost = sockets.get_default_localhost() if listen != (): if servers.is_serving(): raise request.isnt_valid( 'Multiple concurrent "listen" sessions are not supported' ) - localhost = sockets.get_default_localhost() host = listen("host", localhost) port = listen("port", int) adapter.access_token = None @@ -486,7 +486,7 @@ class Client(components.Component): host, port = servers.serve(host, port) else: if not servers.is_serving(): - servers.serve(host) + servers.serve(localhost) host, port = servers.listener.getsockname()[:2] # There are four distinct possibilities here. diff --git a/src/debugpy/common/sockets.py b/src/debugpy/common/sockets.py index e694c2a7..0b1c8fad 100644 --- a/src/debugpy/common/sockets.py +++ b/src/debugpy/common/sockets.py @@ -18,7 +18,7 @@ def can_bind_ipv4_localhost(): sock.bind(("127.0.0.1", 0)) sock.close() return True - except (socket.error, OSError): + except (socket.error, OSError, AttributeError): return False def can_bind_ipv6_localhost():