diff -r b9e124851e47 Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Mon Feb 10 16:46:28 2014 -0500 +++ b/Lib/asyncio/base_events.py Mon Feb 10 23:00:14 2014 +0100 @@ -96,6 +96,7 @@ class BaseEventLoop(events.AbstractEvent self._default_executor = None self._internal_fds = 0 self._running = False + self._clock_resolution = time.get_clock_info('monotonic').resolution def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): @@ -643,10 +644,10 @@ class BaseEventLoop(events.AbstractEvent self._process_events(event_list) # Handle 'later' callbacks that are ready. - now = self.time() + end_time = self.time() + self._clock_resolution while self._scheduled: handle = self._scheduled[0] - if handle._when > now: + if handle._when >= end_time: break handle = heapq.heappop(self._scheduled) self._ready.append(handle)