]> granicus.if.org Git - python/commitdiff
Issue #20505: use also the monotonic time to decide if asyncio debug traces
authorVictor Stinner <victor.stinner@gmail.com>
Tue, 11 Feb 2014 09:26:53 +0000 (10:26 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Tue, 11 Feb 2014 09:26:53 +0000 (10:26 +0100)
should be printed

Lib/asyncio/base_events.py

index 0200d355579fc5d25d0df9acd5ac83963e4f2cdf..48b3ee3e9df255e069ae1c1cdb6de208b1384f40 100644 (file)
@@ -639,15 +639,16 @@ class BaseEventLoop(events.AbstractEventLoop):
             event_list = self._selector.select(timeout)
             dt = time.perf_counter() - t0
             dt_monotonic = time.monotonic() - t0_monotonic
-            if not event_list and timeout and dt < timeout:
+            if (not event_list and timeout
+            and (dt < timeout or dt_monotonic < timeout)):
                 selector = self._selector.__class__.__name__
                 if (selector.startswith(("Poll", "Epoll", "Iocp"))
                 or timeout > 1e-3 or dt > 1e-3):
                     unit, factor = "ms", 1e3
                 else:
                     unit, factor = "us", 1e6
-                print("asyncio: %s.select(%.3f %s) took %.3f %s"
-                      " (monotonic: %.3f %s, clock res: %.3f %s)"
+                print("asyncio: %s.select(%.4f %s) took %.3f %s"
+                      " (monotonic=%.3f %s, clock res=%.3f %s)"
                       % (self._selector.__class__.__name__,
                          timeout * factor, unit,
                          dt * factor, unit,