From 0b35b18f88ebeb8f3cb2291c239dd2cb3732d0cc Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Mon, 1 May 2017 21:56:28 +0000 Subject: [PATCH] Revert "base: make boot_clock work on host linux, hide it on non-linux." This reverts commit ae29339ca138648eeaee68f801feb02d85ee2abf, which broke the darwin build. Change-Id: Ib33e2dab197532f04944cb12151002e9219b1bb5 --- base/Android.bp | 5 ++++- base/chrono_utils.cpp | 7 +++++-- base/chrono_utils_test.cpp | 9 ++------- base/include/android-base/chrono_utils.h | 2 -- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/base/Android.bp b/base/Android.bp index 14bfe36ee..81b96db43 100644 --- a/base/Android.bp +++ b/base/Android.bp @@ -42,7 +42,6 @@ cc_library { clang: true, host_supported: true, srcs: [ - "chrono_utils.cpp", "file.cpp", "logging.cpp", "parsenetaddress.cpp", @@ -65,6 +64,7 @@ cc_library { srcs: [ "errors_unix.cpp", "properties.cpp", + "chrono_utils.cpp", ], cppflags: ["-Wexit-time-destructors"], sanitize: { @@ -74,12 +74,14 @@ cc_library { }, darwin: { srcs: [ + "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], }, linux_bionic: { srcs: [ + "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], @@ -87,6 +89,7 @@ cc_library { }, linux: { srcs: [ + "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], diff --git a/base/chrono_utils.cpp b/base/chrono_utils.cpp index d73b551b5..5eedf3bce 100644 --- a/base/chrono_utils.cpp +++ b/base/chrono_utils.cpp @@ -21,14 +21,17 @@ namespace android { namespace base { -#if defined(__linux__) boot_clock::time_point boot_clock::now() { +#ifdef __ANDROID__ timespec ts; clock_gettime(CLOCK_BOOTTIME, &ts); return boot_clock::time_point(std::chrono::seconds(ts.tv_sec) + std::chrono::nanoseconds(ts.tv_nsec)); +#else + // Darwin does not support clock_gettime. + return boot_clock::time_point(); +#endif // __ANDROID__ } -#endif } // namespace base } // namespace android diff --git a/base/chrono_utils_test.cpp b/base/chrono_utils_test.cpp index 1f1ce15b1..057132d9f 100644 --- a/base/chrono_utils_test.cpp +++ b/base/chrono_utils_test.cpp @@ -16,7 +16,6 @@ #include "android-base/chrono_utils.h" -#include #include #include @@ -26,12 +25,9 @@ namespace android { namespace base { -#if defined(__linux__) std::chrono::seconds GetBootTimeSeconds() { struct timespec now; - if (clock_gettime(CLOCK_BOOTTIME, &now) != 0) { - err(1, "clock_gettime failed"); - } + clock_gettime(CLOCK_BOOTTIME, &now); auto now_tp = boot_clock::time_point(std::chrono::seconds(now.tv_sec) + std::chrono::nanoseconds(now.tv_nsec)); @@ -45,7 +41,6 @@ TEST(ChronoUtilsTest, BootClockNowSeconds) { std::chrono::duration_cast(boot_clock::now().time_since_epoch()); EXPECT_EQ(now, boot_seconds); } -#endif // defined(__linux__) } // namespace base -} // namespace android +} // namespace android \ No newline at end of file diff --git a/base/include/android-base/chrono_utils.h b/base/include/android-base/chrono_utils.h index 795225b9c..0086425e5 100644 --- a/base/include/android-base/chrono_utils.h +++ b/base/include/android-base/chrono_utils.h @@ -22,7 +22,6 @@ namespace android { namespace base { -#if defined(__linux__) // A std::chrono clock based on CLOCK_BOOTTIME. class boot_clock { public: @@ -31,7 +30,6 @@ class boot_clock { static time_point now(); }; -#endif // defined(__linux__) } // namespace base } // namespace android