Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f7c043b authored by Greg Hackmann's avatar Greg Hackmann Committed by Android Git Automerger
Browse files

am 7510fa3e: am d38ca369: am 9ade11c1: Merge "SystemClock: use clock_gettime()...

am 7510fa3e: am d38ca369: am 9ade11c1: Merge "SystemClock: use clock_gettime() on devices without /dev/alarm"

* commit '7510fa3e':
  SystemClock: use clock_gettime() on devices without /dev/alarm
parents 5ae67beb 7510fa3e
Loading
Loading
Loading
Loading
+9 −16
Original line number Diff line number Diff line
@@ -119,22 +119,6 @@ int64_t elapsedRealtimeNano()
    static volatile int prevMethod;
#endif

#if 0
    /*
     * b/7100774
     * clock_gettime appears to have clock skews and can sometimes return
     * backwards values. Disable its use until we find out what's wrong.
     */
    result = clock_gettime(CLOCK_BOOTTIME, &ts);
    if (result == 0) {
        timestamp = seconds_to_nanoseconds(ts.tv_sec) + ts.tv_nsec;
        checkTimeStamps(timestamp, &prevTimestamp, &prevMethod,
                        METHOD_CLOCK_GETTIME);
        return timestamp;
    }
#endif

    // CLOCK_BOOTTIME doesn't exist, fallback to /dev/alarm
    static int s_fd = -1;

    if (s_fd == -1) {
@@ -153,6 +137,15 @@ int64_t elapsedRealtimeNano()
        return timestamp;
    }

    // /dev/alarm doesn't exist, fallback to CLOCK_BOOTTIME
    result = clock_gettime(CLOCK_BOOTTIME, &ts);
    if (result == 0) {
        timestamp = seconds_to_nanoseconds(ts.tv_sec) + ts.tv_nsec;
        checkTimeStamps(timestamp, &prevTimestamp, &prevMethod,
                        METHOD_CLOCK_GETTIME);
        return timestamp;
    }

    // XXX: there was an error, probably because the driver didn't
    // exist ... this should return
    // a real error, like an exception!