Fixes Issue #17200: telnetlib's read_until and expect timeout was broken by the
fix to Issue #14635 in Python 2.7.4 to be interpreted as milliseconds
instead of seconds when the platform supports select.poll (ie: everywhere).
It is now treated as seconds once again.
diff --git a/Lib/telnetlib.py b/Lib/telnetlib.py
index 727e8f7..88aa482 100644
--- a/Lib/telnetlib.py
+++ b/Lib/telnetlib.py
@@ -312,7 +312,9 @@
poller.register(self, poll_in_or_priority_flags)
while i < 0 and not self.eof:
try:
- ready = poller.poll(call_timeout)
+ # Poll takes its timeout in milliseconds.
+ ready = poller.poll(None if timeout is None
+ else 1000 * call_timeout)
except select.error as e:
if e.errno == errno.EINTR:
if timeout is not None:
@@ -682,7 +684,8 @@
poller.register(self, poll_in_or_priority_flags)
while not m and not self.eof:
try:
- ready = poller.poll(call_timeout)
+ ready = poller.poll(None if timeout is None
+ else 1000 * call_timeout)
except select.error as e:
if e.errno == errno.EINTR:
if timeout is not None:
diff --git a/Misc/NEWS b/Misc/NEWS
index b7e51a5..cdcdda3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -17,6 +17,11 @@
Library
-------
+- Issue #17200: telnetlib's read_until and expect timeout was broken by the
+ fix to Issue #14635 in Python 2.7.4 to be interpreted as milliseconds
+ instead of seconds when the platform supports select.poll (ie: everywhere).
+ It is now treated as seconds once again.
+
- Issue #19099: The struct module now supports Unicode format strings.
- Issue #19878: Fix segfault in bz2 module after calling __init__ twice with