![]() |
Project
|
Go to the source code of this file.
#define O2_DPL_ACQUIRE | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__)) |
Definition at line 55 of file ThreadSafetyAnalysis.h.
#define O2_DPL_ACQUIRE_SHARED | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__)) |
Definition at line 58 of file ThreadSafetyAnalysis.h.
#define O2_DPL_ACQUIRED_AFTER | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__)) |
Definition at line 46 of file ThreadSafetyAnalysis.h.
#define O2_DPL_ACQUIRED_BEFORE | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__)) |
Definition at line 43 of file ThreadSafetyAnalysis.h.
#define O2_DPL_ASSERT_CAPABILITY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x)) |
Definition at line 79 of file ThreadSafetyAnalysis.h.
#define O2_DPL_ASSERT_SHARED_CAPABILITY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x)) |
Definition at line 82 of file ThreadSafetyAnalysis.h.
#define O2_DPL_CAPABILITY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(capability(x)) |
Definition at line 31 of file ThreadSafetyAnalysis.h.
#define O2_DPL_EXCLUDES | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__)) |
Definition at line 76 of file ThreadSafetyAnalysis.h.
#define O2_DPL_GUARDED_BY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x)) |
Definition at line 37 of file ThreadSafetyAnalysis.h.
#define O2_DPL_NO_THREAD_SAFETY_ANALYSIS O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis) |
Definition at line 88 of file ThreadSafetyAnalysis.h.
#define O2_DPL_PT_GUARDED_BY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x)) |
Definition at line 40 of file ThreadSafetyAnalysis.h.
#define O2_DPL_RELEASE | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__)) |
Definition at line 61 of file ThreadSafetyAnalysis.h.
#define O2_DPL_RELEASE_GENERIC | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__)) |
Definition at line 67 of file ThreadSafetyAnalysis.h.
#define O2_DPL_RELEASE_SHARED | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__)) |
Definition at line 64 of file ThreadSafetyAnalysis.h.
#define O2_DPL_REQUIRES | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__)) |
Definition at line 49 of file ThreadSafetyAnalysis.h.
#define O2_DPL_REQUIRES_SHARED | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__)) |
Definition at line 52 of file ThreadSafetyAnalysis.h.
#define O2_DPL_RETURN_CAPABILITY | ( | x | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x)) |
Definition at line 85 of file ThreadSafetyAnalysis.h.
#define O2_DPL_SCOPED_CAPABILITY O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable) |
Definition at line 34 of file ThreadSafetyAnalysis.h.
#define O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__ | ( | x | ) |
Enable thread safety attributes only with clang. The attributes can be safely erased when compiling with other compilers. See https://clang.llvm.org/docs/ThreadSafetyAnalysis.html for more information. Moreover, since we do not want to wrap every single std::mutex into our own class, we expect _LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS to be defined by the user to actually enable this feature.
Definition at line 28 of file ThreadSafetyAnalysis.h.
#define O2_DPL_TRY_ACQUIRE | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__)) |
Definition at line 70 of file ThreadSafetyAnalysis.h.
#define O2_DPL_TRY_ACQUIRE_SHARED | ( | ... | ) | O2_DPL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__)) |
Definition at line 73 of file ThreadSafetyAnalysis.h.