proxygen
folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever Struct Reference

Public Member Functions

bool canBlock ()
 
bool canTimeOut ()
 
bool shouldTimeOut ()
 
bool doWait (Futex &futex, uint32_t expected, uint32_t waitMask)
 

Detailed Description

template<bool ReaderPriority, typename Tag_ = void, template< typename > class Atom = std::atomic, bool BlockImmediately = false, bool AnnotateForThreadSanitizer = kIsSanitizeThread && !ReaderPriority>
struct folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever

Definition at line 580 of file SharedMutex.h.

Member Function Documentation

template<bool ReaderPriority, typename Tag_ = void, template< typename > class Atom = std::atomic, bool BlockImmediately = false, bool AnnotateForThreadSanitizer = kIsSanitizeThread && !ReaderPriority>
bool folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever::canBlock ( )
inline

Definition at line 581 of file SharedMutex.h.

581  {
582  return true;
583  }
template<bool ReaderPriority, typename Tag_ = void, template< typename > class Atom = std::atomic, bool BlockImmediately = false, bool AnnotateForThreadSanitizer = kIsSanitizeThread && !ReaderPriority>
bool folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever::canTimeOut ( )
inline

Definition at line 584 of file SharedMutex.h.

584  {
585  return false;
586  }
template<bool ReaderPriority, typename Tag_ = void, template< typename > class Atom = std::atomic, bool BlockImmediately = false, bool AnnotateForThreadSanitizer = kIsSanitizeThread && !ReaderPriority>
bool folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever::doWait ( Futex futex,
uint32_t  expected,
uint32_t  waitMask 
)
inline

Definition at line 591 of file SharedMutex.h.

References folly::detail::futexWait().

591  {
592  detail::futexWait(&futex, expected, waitMask);
593  return true;
594  }
FutexResult futexWait(const Futex *futex, uint32_t expected, uint32_t waitMask)
Definition: Futex-inl.h:100
template<bool ReaderPriority, typename Tag_ = void, template< typename > class Atom = std::atomic, bool BlockImmediately = false, bool AnnotateForThreadSanitizer = kIsSanitizeThread && !ReaderPriority>
bool folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever::shouldTimeOut ( )
inline

Definition at line 587 of file SharedMutex.h.

587  {
588  return false;
589  }

The documentation for this struct was generated from the following file: