From 0a6bc82e3b9ef8eb49dec6fa7208719ee32990af Mon Sep 17 00:00:00 2001 From: Yedidya Feldblum Date: Tue, 9 Jan 2018 22:39:10 -0800 Subject: [PATCH] Use ptr-to-const in Futex Summary: [Folly] Use ptr-to-`const` in `Futex`. Reviewed By: igorsugak Differential Revision: D6673723 fbshipit-source-id: b828c2284b40ec8166e823eca7725beccd330f87 --- folly/detail/Futex.cpp | 36 ++++++++++++++-------------- folly/detail/Futex.h | 20 ++++++++-------- folly/test/DeterministicSchedule.cpp | 4 ++-- folly/test/DeterministicSchedule.h | 4 ++-- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/folly/detail/Futex.cpp b/folly/detail/Futex.cpp index 14fbe8ad..26e8937b 100644 --- a/folly/detail/Futex.cpp +++ b/folly/detail/Futex.cpp @@ -97,11 +97,12 @@ timeSpecFromTimePoint(time_point absTime) return result; } -FutexResult nativeFutexWaitImpl(void* addr, - uint32_t expected, - time_point* absSystemTime, - time_point* absSteadyTime, - uint32_t waitMask) { +FutexResult nativeFutexWaitImpl( + void* addr, + uint32_t expected, + system_clock::time_point const* absSystemTime, + steady_clock::time_point const* absSteadyTime, + uint32_t waitMask) { assert(absSystemTime == nullptr || absSteadyTime == nullptr); int op = FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG; @@ -180,8 +181,8 @@ template FutexResult emulatedFutexWaitImpl( F* futex, uint32_t expected, - time_point* absSystemTime, - time_point* absSteadyTime, + system_clock::time_point const* absSystemTime, + steady_clock::time_point const* absSteadyTime, uint32_t waitMask) { static_assert( std::is_same>::value || @@ -240,11 +241,11 @@ Futex::futexWake(int count, uint32_t wakeMask) { } template <> -FutexResult -Futex::futexWaitImpl(uint32_t expected, - time_point* absSystemTime, - time_point* absSteadyTime, - uint32_t waitMask) { +FutexResult Futex::futexWaitImpl( + uint32_t expected, + system_clock::time_point const* absSystemTime, + steady_clock::time_point const* absSteadyTime, + uint32_t waitMask) { #ifdef __linux__ return nativeFutexWaitImpl( this, expected, absSystemTime, absSteadyTime, waitMask); @@ -255,12 +256,11 @@ Futex::futexWaitImpl(uint32_t expected, } template <> -FutexResult -Futex::futexWaitImpl( - uint32_t expected, - time_point* absSystemTime, - time_point* absSteadyTime, - uint32_t waitMask) { +FutexResult Futex::futexWaitImpl( + uint32_t expected, + system_clock::time_point const* absSystemTime, + steady_clock::time_point const* absSteadyTime, + uint32_t waitMask) { return emulatedFutexWaitImpl( this, expected, absSystemTime, absSteadyTime, waitMask); } diff --git a/folly/detail/Futex.h b/folly/detail/Futex.h index b8cbcd2e..a2e35020 100644 --- a/folly/detail/Futex.h +++ b/folly/detail/Futex.h @@ -125,8 +125,8 @@ struct Futex : Atom, boost::noncopyable { * is the same as system_clock on some platforms. */ FutexResult futexWaitImpl( uint32_t expected, - std::chrono::time_point* absSystemTime, - std::chrono::time_point* absSteadyTime, + std::chrono::system_clock::time_point const* absSystemTime, + std::chrono::steady_clock::time_point const* absSteadyTime, uint32_t waitMask); }; @@ -149,20 +149,20 @@ int Futex::futexWake(int count, uint32_t wakeMask); template <> FutexResult Futex::futexWaitImpl( - uint32_t expected, - std::chrono::time_point* absSystemTime, - std::chrono::time_point* absSteadyTime, - uint32_t waitMask); + uint32_t expected, + std::chrono::system_clock::time_point const* absSystemTime, + std::chrono::steady_clock::time_point const* absSteadyTime, + uint32_t waitMask); template <> int Futex::futexWake(int count, uint32_t wakeMask); template <> FutexResult Futex::futexWaitImpl( - uint32_t expected, - std::chrono::time_point* absSystemTime, - std::chrono::time_point* absSteadyTime, - uint32_t waitMask); + uint32_t expected, + std::chrono::system_clock::time_point const* absSystemTime, + std::chrono::steady_clock::time_point const* absSteadyTime, + uint32_t waitMask); } // namespace detail } // namespace folly diff --git a/folly/test/DeterministicSchedule.cpp b/folly/test/DeterministicSchedule.cpp index e1c79d7e..d4e8d2da 100644 --- a/folly/test/DeterministicSchedule.cpp +++ b/folly/test/DeterministicSchedule.cpp @@ -289,8 +289,8 @@ using namespace std::chrono; template <> FutexResult Futex::futexWaitImpl( uint32_t expected, - time_point* absSystemTimeout, - time_point* absSteadyTimeout, + system_clock::time_point const* absSystemTimeout, + steady_clock::time_point const* absSteadyTimeout, uint32_t waitMask) { bool hasTimeout = absSystemTimeout != nullptr || absSteadyTimeout != nullptr; bool awoken = false; diff --git a/folly/test/DeterministicSchedule.h b/folly/test/DeterministicSchedule.h index a9b1ca5d..91b43fbf 100644 --- a/folly/test/DeterministicSchedule.h +++ b/folly/test/DeterministicSchedule.h @@ -496,8 +496,8 @@ int Futex::futexWake(int count, uint32_t wakeMask); template <> FutexResult Futex::futexWaitImpl( uint32_t expected, - std::chrono::time_point* absSystemTime, - std::chrono::time_point* absSteadyTime, + std::chrono::system_clock::time_point const* absSystemTime, + std::chrono::steady_clock::time_point const* absSteadyTime, uint32_t waitMask); } // namespace detail -- 2.34.1