DDraceNetwork Docs
lock.h File Reference
#include <mutex>
Include dependency graph for lock.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CLock
 
class  CLockScope
 

Macros

#define THREAD_ANNOTATION_ATTRIBUTE__(x)
 
#define CAPABILITY(x)    THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
 
#define SCOPED_CAPABILITY    THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
 
#define GUARDED_BY(x)    THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
 
#define PT_GUARDED_BY(x)    THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
 
#define ACQUIRED_BEFORE(...)    THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))
 
#define ACQUIRED_AFTER(...)    THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))
 
#define REQUIRES(...)    THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))
 
#define REQUIRES_SHARED(...)    THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))
 
#define ACQUIRE(...)    THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
 
#define ACQUIRE_SHARED(...)    THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))
 
#define RELEASE(...)    THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))
 
#define RELEASE_SHARED(...)    THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))
 
#define RELEASE_GENERIC(...)    THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))
 
#define TRY_ACQUIRE(...)    THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))
 
#define TRY_ACQUIRE_SHARED(...)    THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))
 
#define EXCLUDES(...)    THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
 
#define ASSERT_CAPABILITY(x)    THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
 
#define ASSERT_SHARED_CAPABILITY(x)    THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
 
#define RETURN_CAPABILITY(x)    THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
 
#define NO_THREAD_SAFETY_ANALYSIS    THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
 

Macro Definition Documentation

◆ ACQUIRE

#define ACQUIRE (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))

◆ ACQUIRE_SHARED

#define ACQUIRE_SHARED (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))

◆ ACQUIRED_AFTER

#define ACQUIRED_AFTER (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))

◆ ACQUIRED_BEFORE

#define ACQUIRED_BEFORE (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))

◆ ASSERT_CAPABILITY

#define ASSERT_CAPABILITY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))

◆ ASSERT_SHARED_CAPABILITY

#define ASSERT_SHARED_CAPABILITY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))

◆ CAPABILITY

#define CAPABILITY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(capability(x))

◆ EXCLUDES

#define EXCLUDES (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))

◆ GUARDED_BY

#define GUARDED_BY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))

◆ NO_THREAD_SAFETY_ANALYSIS

#define NO_THREAD_SAFETY_ANALYSIS    THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)

◆ PT_GUARDED_BY

#define PT_GUARDED_BY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))

◆ RELEASE

#define RELEASE (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))

◆ RELEASE_GENERIC

#define RELEASE_GENERIC (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))

◆ RELEASE_SHARED

#define RELEASE_SHARED (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))

◆ REQUIRES

#define REQUIRES (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))

◆ REQUIRES_SHARED

#define REQUIRES_SHARED (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))

◆ RETURN_CAPABILITY

#define RETURN_CAPABILITY (   x)     THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))

◆ SCOPED_CAPABILITY

#define SCOPED_CAPABILITY    THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)

◆ THREAD_ANNOTATION_ATTRIBUTE__

#define THREAD_ANNOTATION_ATTRIBUTE__ (   x)

◆ TRY_ACQUIRE

#define TRY_ACQUIRE (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))

◆ TRY_ACQUIRE_SHARED

#define TRY_ACQUIRE_SHARED (   ...)     THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))