When using selectors.DefaultSelector() [ which is the DevPollSelector ] cheroot can miss socket wakeups. --- cheroot-11.0.0/cheroot/connections.py.orig +++ cheroot-11.0.0/cheroot/connections.py @@ -70,7 +70,7 @@ """ def __init__(self): - self._selector = selectors.DefaultSelector() + self._selector = selectors.PollSelector() self._lock = threading.Lock() def __len__(self):