return result;
}
-FutexResult nativeFutexWaitImpl(void* addr,
- uint32_t expected,
- time_point<system_clock>* absSystemTime,
- time_point<steady_clock>* 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;
FutexResult emulatedFutexWaitImpl(
F* futex,
uint32_t expected,
- time_point<system_clock>* absSystemTime,
- time_point<steady_clock>* absSteadyTime,
+ system_clock::time_point const* absSystemTime,
+ steady_clock::time_point const* absSteadyTime,
uint32_t waitMask) {
static_assert(
std::is_same<F, Futex<std::atomic>>::value ||
}
template <>
-FutexResult
-Futex<std::atomic>::futexWaitImpl(uint32_t expected,
- time_point<system_clock>* absSystemTime,
- time_point<steady_clock>* absSteadyTime,
- uint32_t waitMask) {
+FutexResult Futex<std::atomic>::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);
}
template <>
-FutexResult
-Futex<EmulatedFutexAtomic>::futexWaitImpl(
- uint32_t expected,
- time_point<system_clock>* absSystemTime,
- time_point<steady_clock>* absSteadyTime,
- uint32_t waitMask) {
+FutexResult Futex<EmulatedFutexAtomic>::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);
}
* is the same as system_clock on some platforms. */
FutexResult futexWaitImpl(
uint32_t expected,
- std::chrono::time_point<std::chrono::system_clock>* absSystemTime,
- std::chrono::time_point<std::chrono::steady_clock>* absSteadyTime,
+ std::chrono::system_clock::time_point const* absSystemTime,
+ std::chrono::steady_clock::time_point const* absSteadyTime,
uint32_t waitMask);
};
template <>
FutexResult Futex<std::atomic>::futexWaitImpl(
- uint32_t expected,
- std::chrono::time_point<std::chrono::system_clock>* absSystemTime,
- std::chrono::time_point<std::chrono::steady_clock>* 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<EmulatedFutexAtomic>::futexWake(int count, uint32_t wakeMask);
template <>
FutexResult Futex<EmulatedFutexAtomic>::futexWaitImpl(
- uint32_t expected,
- std::chrono::time_point<std::chrono::system_clock>* absSystemTime,
- std::chrono::time_point<std::chrono::steady_clock>* 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
template <>
FutexResult Futex<DeterministicAtomic>::futexWaitImpl(
uint32_t expected,
- time_point<system_clock>* absSystemTimeout,
- time_point<steady_clock>* 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;