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