diff options
| author | Victor Stinner <victor.stinner@gmail.com> | 2012-05-30 13:30:32 +0200 |
|---|---|---|
| committer | Victor Stinner <victor.stinner@gmail.com> | 2012-05-30 13:30:32 +0200 |
| commit | 37f192d7ebc4b514039a76be8ddcba2a2e15b126 (patch) | |
| tree | 94fbbcc98a756b39ff5743d6149387e421dc875d /Lib/subprocess.py | |
| parent | 6a5d41c3f163b8843ba42a3192081bda75b8ea6c (diff) | |
| download | cpython-37f192d7ebc4b514039a76be8ddcba2a2e15b126.tar.gz | |
Close #14690: Use monotonic clock instead of system clock in the sched,
subprocess and trace modules.
Diffstat (limited to 'Lib/subprocess.py')
| -rw-r--r-- | Lib/subprocess.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 553f160405..7885ba37af 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -349,6 +349,10 @@ import signal import builtins import warnings import errno +try: + from time import monotonic as _time +except ImportError: + from time import time as _time # Exception classes used by this module. class SubprocessError(Exception): pass @@ -894,7 +898,7 @@ class Popen(object): self.wait() else: if timeout is not None: - endtime = time.time() + timeout + endtime = _time() + timeout else: endtime = None @@ -917,14 +921,14 @@ class Popen(object): if endtime is None: return None else: - return endtime - time.time() + return endtime - _time() def _check_timeout(self, endtime, orig_timeout): """Convenience for checking if a timeout has expired.""" if endtime is None: return - if time.time() > endtime: + if _time() > endtime: raise TimeoutExpired(self.args, orig_timeout) @@ -1471,7 +1475,7 @@ class Popen(object): # printing. if endtime is not None or timeout is not None: if endtime is None: - endtime = time.time() + timeout + endtime = _time() + timeout elif timeout is None: timeout = self._remaining_time(endtime) |
