selectors: Make sure EpollSelecrtor.select() works when no FD is registered.

Closes issue #23009.
diff --git a/Lib/selectors.py b/Lib/selectors.py
index 9be9225..25b8d79 100644
--- a/Lib/selectors.py
+++ b/Lib/selectors.py
@@ -418,7 +418,12 @@
                 # epoll_wait() has a resolution of 1 millisecond, round away
                 # from zero to wait *at least* timeout seconds.
                 timeout = math.ceil(timeout * 1e3) * 1e-3
-            max_ev = len(self._fd_to_key)
+
+            # epoll_wait() expectcs `maxevents` to be greater than zero;
+            # we want to make sure that `select()` can be called when no
+            # FD is registered.
+            max_ev = max(len(self._fd_to_key), 1)
+
             ready = []
             try:
                 fd_event_list = self._epoll.poll(timeout, max_ev)