bpo-29711: Fix stop_serving in proactor loop kill all listening servers (#431)

This commit is contained in:
Julien Duponchelle 2017-12-19 13:23:17 +01:00 committed by Yury Selivanov
parent 36c2c04478
commit 319c0345cd
3 changed files with 19 additions and 5 deletions

View file

@ -536,6 +536,8 @@ class BaseProactorEventLoop(base_events.BaseEventLoop):
self._accept_futures.clear()
def _stop_serving(self, sock):
self._stop_accept_futures()
future = self._accept_futures.pop(sock.fileno(), None)
if future:
future.cancel()
self._proactor._stop_serving(sock)
sock.close()