From d0c600220aa10dbd2d453cab694a0fa60ab67ee0 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Sat, 7 Nov 2015 13:53:09 +0800 Subject: [PATCH] Add monotonic as an alternative to Monotime --- .travis.yml | 2 +- docs/index.rst | 2 ++ tornado/platform/auto.py | 9 +++++++-- tox.ini | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8cc1fbff..16f61830 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ python: - pypy3 install: - - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then travis_retry pip install futures mock Monotime trollius; fi + - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then travis_retry pip install futures mock monotonic trollius; fi - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then travis_retry pip install futures mock; fi # TODO(bdarnell): pycares tests are currently disabled on travis due to ipv6 issues. #- if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then travis_retry pip install pycares; fi diff --git a/docs/index.rst b/docs/index.rst index e4a4d809..14f9af6b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -100,6 +100,8 @@ the following optional packages may be useful: * `Monotime `_ adds support for a monotonic clock, which improves reliability in environments where clock adjustments are frequent. No longer needed in Python 3.3. +* `monotonic `_ adds support for + a monotonic clock. Alternative to Monotime. No longer needed in Python 3.3. **Platforms**: Tornado should run on any Unix-like platform, although for the best performance and scalability only Linux (with ``epoll``) diff --git a/tornado/platform/auto.py b/tornado/platform/auto.py index fc40c9d9..449b634b 100644 --- a/tornado/platform/auto.py +++ b/tornado/platform/auto.py @@ -47,8 +47,13 @@ try: except ImportError: pass try: - from time import monotonic as monotonic_time + # monotonic can provide a monotonic function in versions of python before + # 3.3, too. + from monotonic import monotonic as monotonic_time except ImportError: - monotonic_time = None + try: + from time import monotonic as monotonic_time + except ImportError: + monotonic_time = None __all__ = ['Waker', 'set_close_exec', 'monotonic_time'] diff --git a/tox.ini b/tox.ini index 82b156d1..6f74a745 100644 --- a/tox.ini +++ b/tox.ini @@ -85,7 +85,7 @@ deps = {py2,py27,pypy,py3,py33}-full: singledispatch py33-asyncio: asyncio trollius: trollius - py2-monotonic: Monotime + py2-monotonic: monotonic sphinx: sphinx sphinx: sphinx_rtd_theme