[issue14222] Use time.steady() to implement timeout

STINNER Victor report at bugs.python.org
Thu Apr 5 13:29:24 CEST 2012


STINNER Victor <victor.stinner at gmail.com> added the comment:

> Why do you think monotonic time is needed for the Queue module?

The duration of a timeout of N seconds should be N seconds even if the system clock is updated (e.g. a daylight saving time (DST) change).

This feature is checked by an unit test in the patch attached to the isuse #14428 (implementation of the PEP 418):

+    def test_monotonic_settime(self):
+        t1 = time.monotonic()
+        realtime = time.clock_gettime(time.CLOCK_REALTIME)
+        # jump backward with an offset of 1 hour
+        time.clock_settime(time.CLOCK_REALTIME, realtime - 3600)
+        t2 = time.monotonic()
+        time.clock_settime(time.CLOCK_REALTIME, realtime)
+        # monotonic must not be affected by system clock updates
+        self.assertGreaterEqual(t2, t1)

You can imagine a similar patch for Queue timeout.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14222>
_______________________________________


More information about the Python-bugs-list mailing list