# HG changeset patch # User Matt Johnston # Date 1563981693 -28800 # Node ID 02aff9ff8d2425863bee397d22451a60c903ca97 # Parent a99631597f65cb961205dbfca7c454f201fe257c Use time.monotonic() since Python now has it diff -r a99631597f65 -r 02aff9ff8d24 py/tempserver.py --- a/py/tempserver.py Tue Jul 23 22:44:24 2019 +0800 +++ b/py/tempserver.py Wed Jul 24 23:21:33 2019 +0800 @@ -68,7 +68,7 @@ loop.close() def now(self): - return utils.monotonic_time() + return time.monotonic() def set_sensors(self, sensors): if hasattr(self, 'sensors'): diff -r a99631597f65 -r 02aff9ff8d24 py/utils.py --- a/py/utils.py Tue Jul 23 22:44:24 2019 +0800 +++ b/py/utils.py Wed Jul 24 23:21:33 2019 +0800 @@ -21,37 +21,6 @@ kwargs['exc_info'] = True logging.error(msg, *args, **kwargs) -clock_gettime = None -no_clock_gettime = True -def monotonic_time(): - global clock_gettime - global no_clock_gettime - if no_clock_gettime: - return time.time() - - class timespec(ctypes.Structure): - _fields_ = [ - ('tv_sec', ctypes.c_long), - ('tv_nsec', ctypes.c_long) - ] - if not clock_gettime: - try: - librt = ctypes.CDLL('librt.so.0', use_errno=True) - clock_gettime = librt.clock_gettime - clock_gettime.argtypes = [ctypes.c_int, ctypes.POINTER(timespec)] - except: - W("No clock_gettime(), using fake fallback.") - no_clock_gettime = True - return time.time() - - t = timespec() - CLOCK_MONOTONIC = 1 # see - - if clock_gettime(CLOCK_MONOTONIC, ctypes.pointer(t)) != 0: - errno_ = ctypes.get_errno() - raise OSError(errno_, os.strerror(errno_)) - return t.tv_sec + t.tv_nsec * 1e-9 - # decorator, tries a number of times, returns None on failure, sleeps between # Must be used as "@retry()" if arguments are defaulted def retry(retries=DEFAULT_TRIES, try_time = 1):