Summary: Ignoring the questionability of the approach it's being used in, it's better to not have the direct PThread dependency.
Reviewed By: yfeldblum
Differential Revision:
D4889245
fbshipit-source-id:
da099c6f938dbe98c1b9eeaf4de0a27a2c4d65f1
#include <chrono>
#include <folly/AtomicStruct.h>
#include <folly/Hash.h>
#include <chrono>
#include <folly/AtomicStruct.h>
#include <folly/Hash.h>
+#include <folly/ThreadId.h>
#include <folly/Traits.h>
#include <folly/detail/Futex.h>
#include <folly/Traits.h>
#include <folly/detail/Futex.h>
-#include <folly/portability/PThread.h>
if (idleTimeout.count() > 0 && timeoutVariationFrac > 0) {
// hash the pthread_t and the time to get the adjustment.
// Standard hash func isn't very good, so bit mix the result
if (idleTimeout.count() > 0 && timeoutVariationFrac > 0) {
// hash the pthread_t and the time to get the adjustment.
// Standard hash func isn't very good, so bit mix the result
- auto pr = std::make_pair(pthread_self(),
+ auto pr = std::make_pair(getCurrentThreadID(),
Clock::now().time_since_epoch().count());
std::hash<decltype(pr)> hash_fn;
uint64_t h = folly::hash::twang_mix64(hash_fn(pr));
Clock::now().time_since_epoch().count());
std::hash<decltype(pr)> hash_fn;
uint64_t h = folly::hash::twang_mix64(hash_fn(pr));