mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-34263 Cap timeout submitted to epoll/select etc. to one day. (GH-8532)
This commit is contained in:
parent
9c18b1ae52
commit
944451cd8d
3 changed files with 6 additions and 5 deletions
|
@ -63,6 +63,9 @@ _FATAL_ERROR_IGNORE = (BrokenPipeError,
|
|||
|
||||
_HAS_IPv6 = hasattr(socket, 'AF_INET6')
|
||||
|
||||
# Maximum timeout passed to select to avoid OS limitations
|
||||
MAXIMUM_SELECT_TIMEOUT = 24 * 3600
|
||||
|
||||
|
||||
def _format_handle(handle):
|
||||
cb = handle._callback
|
||||
|
@ -1708,7 +1711,7 @@ class BaseEventLoop(events.AbstractEventLoop):
|
|||
elif self._scheduled:
|
||||
# Compute the desired timeout.
|
||||
when = self._scheduled[0]._when
|
||||
timeout = max(0, when - self.time())
|
||||
timeout = min(max(0, when - self.time()), MAXIMUM_SELECT_TIMEOUT)
|
||||
|
||||
if self._debug and timeout != 0:
|
||||
t0 = self.time()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue