From e3c65a7a228a5808a7af48a47fdd77e982f95d00 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 30 Sep 2016 08:17:15 -0700 Subject: Misc asyncio improvements from upstream --- Lib/asyncio/base_events.py | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'Lib/asyncio/base_events.py') diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 03935ea94b..af66c0a5b6 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -115,24 +115,16 @@ def _ipaddr_info(host, port, family, type, proto): if port is None: port = 0 - elif isinstance(port, bytes): - if port == b'': - port = 0 - else: - try: - port = int(port) - except ValueError: - # Might be a service name like b"http". - port = socket.getservbyname(port.decode('ascii')) - elif isinstance(port, str): - if port == '': - port = 0 - else: - try: - port = int(port) - except ValueError: - # Might be a service name like "http". - port = socket.getservbyname(port) + elif isinstance(port, bytes) and port == b'': + port = 0 + elif isinstance(port, str) and port == '': + port = 0 + else: + # If port's a service name like "http", don't skip getaddrinfo. + try: + port = int(port) + except (TypeError, ValueError): + return None if family == socket.AF_UNSPEC: afs = [socket.AF_INET, socket.AF_INET6] -- cgit v1.2.1