Issue #23485: select.epoll.poll() is now retried when interrupted by a signal

This commit is contained in:
Victor Stinner 2015-03-30 21:59:21 +02:00
parent 3c7d6e0693
commit 41eba224de
5 changed files with 71 additions and 23 deletions

View file

@ -423,11 +423,9 @@ if hasattr(select, 'epoll'):
# FD is registered.
max_ev = max(len(self._fd_to_key), 1)
fd_event_list = self._epoll.poll(timeout, max_ev)
ready = []
try:
fd_event_list = self._epoll.poll(timeout, max_ev)
except InterruptedError:
return ready
for fd, event in fd_event_list:
events = 0
if event & ~select.EPOLLIN: