diff -r 6c2e2de5ab8e Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Sat Jul 30 23:51:13 2016 -0700 +++ b/Lib/asyncio/base_events.py Mon Aug 01 23:41:26 2016 +0100 @@ -919,9 +919,15 @@ else: hosts = host + if (isinstance(port, (int, str)) or + not isinstance(port, collections.Iterable)): + ports = [port] + else: + ports = port + fs = [self._create_server_getaddrinfo(host, port, family=family, flags=flags) - for host in hosts] + for port in ports for host in hosts] infos = yield from tasks.gather(*fs, loop=self) infos = set(itertools.chain.from_iterable(infos))