X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Fdetail%2FMemoryIdler.h;h=caac253e014be4bd99a749f74f51a90a85daa216;hp=3c987cc9223340f93279e7d722283e5813912886;hb=e229101b0e2fc1d9ccfbcb10be991cb62e19d32d;hpb=8bfee85eb0e54a346a8c2fe1ac8b474303b754b0 diff --git a/folly/detail/MemoryIdler.h b/folly/detail/MemoryIdler.h index 3c987cc9..caac253e 100644 --- a/folly/detail/MemoryIdler.h +++ b/folly/detail/MemoryIdler.h @@ -102,7 +102,7 @@ struct MemoryIdler { template < template class Atom, typename Clock = std::chrono::steady_clock> - static bool futexWait( + static FutexResult futexWait( Futex& fut, uint32_t expected, uint32_t waitMask = -1, @@ -110,7 +110,6 @@ struct MemoryIdler { defaultIdleTimeout.load(std::memory_order_acquire), size_t stackToRetain = kDefaultStackToRetain, float timeoutVariationFrac = 0.5) { - if (idleTimeout == Clock::duration::max()) { // no need to use futexWaitUntil if no timeout is possible return fut.futexWait(expected, waitMask); @@ -128,7 +127,7 @@ struct MemoryIdler { // finished before timeout hit, no flush assert(rv == FutexResult::VALUE_CHANGED || rv == FutexResult::AWOKEN || rv == FutexResult::INTERRUPTED); - return rv == FutexResult::AWOKEN; + return rv; } }