diff -r 0a71d29b970a Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Mon Feb 03 00:35:46 2014 +0100 +++ b/Lib/asyncio/base_events.py Mon Feb 03 01:38:15 2014 +0100 @@ -618,6 +618,10 @@ class BaseEventLoop(events.AbstractEvent timeout = deadline else: timeout = min(timeout, deadline) + # The timeout parameter of epoll_wait() is a C int which represents + # a number of milliseconds. Loop one more time if the timeout + # in millisecond is larger than an C int (2^31-1). + timeout = min(timeout, 2 ** 31 // 1000) # TODO: Instrumentation only in debug mode? if logger.isEnabledFor(logging.INFO):