From: Victor Stinner Date: Tue, 21 Jan 2014 16:49:41 +0000 (+0100) Subject: selectors: add a comment to explain why and how poll timeout is rounded X-Git-Tag: v3.4.0b3~74 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7067b5d92770569dcadb7c637517c5fc242339c5;p=thirdparty%2FPython%2Fcpython.git selectors: add a comment to explain why and how poll timeout is rounded --- diff --git a/Lib/selectors.py b/Lib/selectors.py index 63392f5eb93d..f8b56cd4331c 100644 --- a/Lib/selectors.py +++ b/Lib/selectors.py @@ -354,10 +354,12 @@ if hasattr(select, 'poll'): def select(self, timeout=None): if timeout is None: timeout = None - elif timeout < 0: + elif timeout <= 0: timeout = 0 else: - timeout = int(math.ceil(timeout * 1000.0)) + # poll() has a resolution of 1 millisecond, round away from + # zero to wait *at least* timeout seconds. + timeout = int(math.ceil(timeout * 1e3)) ready = [] try: fd_event_list = self._poll.poll(timeout)