proxygen
SharedMutex.h File Reference
#include <stdint.h>
#include <atomic>
#include <thread>
#include <type_traits>
#include <folly/CPortability.h>
#include <folly/Likely.h>
#include <folly/concurrency/CacheLocality.h>
#include <folly/detail/Futex.h>
#include <folly/portability/Asm.h>
#include <folly/portability/SysResource.h>
#include <folly/synchronization/SanitizeThread.h>

Go to the source code of this file.

Classes

struct  folly::SharedMutexToken
 
class  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >
 
struct  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForever
 
struct  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitNever
 
struct  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitForDuration< Rep, Period >
 
struct  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WaitUntilDeadline< Clock, Duration >
 
class  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::ReadHolder
 
class  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::UpgradeHolder
 
class  folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::WriteHolder
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::detail
 

Macros

#define FOLLY_SHAREDMUTEX_TLS   FOLLY_TLS
 

Typedefs

typedef SharedMutexImpl< true > folly::SharedMutexReadPriority
 
typedef SharedMutexImpl< false > folly::SharedMutexWritePriority
 
typedef SharedMutexWritePriority folly::SharedMutex
 
typedef SharedMutexImpl< false, void, std::atomic, false, false > folly::SharedMutexSuppressTSAN
 

Functions

std::unique_lock< std::mutexfolly::detail::sharedMutexAnnotationGuard (void *ptr)
 

Macro Definition Documentation

#define FOLLY_SHAREDMUTEX_TLS   FOLLY_TLS

Definition at line 242 of file SharedMutex.h.