From 729170f0ec31e97ebf7f940277b1c94344d4c1f2 Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Sun, 24 Apr 2022 23:06:02 -0600 Subject: [PATCH] Use list() around the call to map.keys() Since in Python 3 it no longer returns a list, it returns a view --- src/waitress/wasyncore.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/waitress/wasyncore.py b/src/waitress/wasyncore.py index 4368ddb8..7b37246e 100644 --- a/src/waitress/wasyncore.py +++ b/src/waitress/wasyncore.py @@ -151,7 +151,7 @@ def poll(timeout=0.0, map=None): if map is None: # pragma: no cover map = socket_map if map: - fds = map.keys() + fds = list(map.keys()) while True: r = [] @@ -179,8 +179,9 @@ def poll(timeout=0.0, map=None): r, w, e = select.select(r, w, e, timeout) except OSError as err: if err.args[0] == EBADF: # pragma: no cover - if fds != map.keys(): - fds = map.keys() + _fds = list(map.keys()) + if fds != _fds: + fds = _fds continue if err.args[0] != EINTR: raise