Mercurial > cpython-lru_cache-weakref
changeset 86646:ea3deb022890 3.3
Close #19339: telnetlib module is now using time.monotonic() when available to
compute timeout.
| author | Victor Stinner <victor.stinner@gmail.com> |
|---|---|
| date | Sat, 26 Oct 2013 09:16:29 +0200 |
| parents | e62a64507913 |
| children | d0f90d3f6203 150242784de0 |
| files | Lib/telnetlib.py Misc/NEWS |
| diffstat | 2 files changed, 17 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/telnetlib.py Fri Oct 25 16:03:35 2013 -0700 +++ b/Lib/telnetlib.py Sat Oct 26 09:16:29 2013 +0200 @@ -38,6 +38,10 @@ import sys import socket import select +try: + from time import monotonic as _time +except ImportError: + from time import time as _time __all__ = ["Telnet"] @@ -302,8 +306,7 @@ n = len(match) call_timeout = timeout if timeout is not None: - from time import time - time_start = time() + time_start = _time() self.process_rawq() i = self.cookedq.find(match) if i < 0: @@ -316,7 +319,7 @@ except select.error as e: if e.errno == errno.EINTR: if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start call_timeout = timeout-elapsed continue raise @@ -327,7 +330,7 @@ self.process_rawq() i = self.cookedq.find(match, i) if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start if elapsed >= timeout: break call_timeout = timeout-elapsed @@ -356,8 +359,7 @@ s_args = s_reply if timeout is not None: s_args = s_args + (timeout,) - from time import time - time_start = time() + time_start = _time() while not self.eof and select.select(*s_args) == s_reply: i = max(0, len(self.cookedq)-n) self.fill_rawq() @@ -369,7 +371,7 @@ self.cookedq = self.cookedq[i:] return buf if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start if elapsed >= timeout: break s_args = s_reply + (timeout-elapsed,) @@ -665,8 +667,7 @@ expect_list[i] = re.compile(expect_list[i]) call_timeout = timeout if timeout is not None: - from time import time - time_start = time() + time_start = _time() self.process_rawq() m = None for i in indices: @@ -686,7 +687,7 @@ except select.error as e: if e.errno == errno.EINTR: if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start call_timeout = timeout-elapsed continue raise @@ -702,7 +703,7 @@ self.cookedq = self.cookedq[e:] break if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start if elapsed >= timeout: break call_timeout = timeout-elapsed @@ -727,8 +728,7 @@ if not re: import re list[i] = re.compile(list[i]) if timeout is not None: - from time import time - time_start = time() + time_start = _time() while 1: self.process_rawq() for i in indices: @@ -741,7 +741,7 @@ if self.eof: break if timeout is not None: - elapsed = time() - time_start + elapsed = _time() - time_start if elapsed >= timeout: break s_args = ([self.fileno()], [], [], timeout-elapsed)
--- a/Misc/NEWS Fri Oct 25 16:03:35 2013 -0700 +++ b/Misc/NEWS Sat Oct 26 09:16:29 2013 +0200 @@ -81,6 +81,9 @@ Library ------- +- Issue #19339: telnetlib module is now using time.monotonic() when available + to compute timeout. + - Issue #19288: Fixed the "in" operator of dbm.gnu databases for string argument. Original patch by Arfrever Frehtes Taifersar Arahesis.
