Flutter Impeller
thread_safety.h File Reference

Go to the source code of this file.

Macros

#define IPLR_THREAD_ANNOTATION_ATTRIBUTE__(x)
 
#define IPLR_CAPABILITY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
 
#define IPLR_SCOPED_CAPABILITY   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
 
#define IPLR_GUARDED_BY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
 
#define IPLR_PT_GUARDED_BY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
 
#define IPLR_ACQUIRED_BEFORE(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))
 
#define IPLR_ACQUIRED_AFTER(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))
 
#define IPLR_REQUIRES(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))
 
#define IPLR_REQUIRES_SHARED(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))
 
#define IPLR_ACQUIRE(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
 
#define IPLR_ACQUIRE_SHARED(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))
 
#define IPLR_RELEASE(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))
 
#define IPLR_RELEASE_SHARED(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))
 
#define IPLR_RELEASE_GENERIC(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))
 
#define IPLR_TRY_ACQUIRE(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))
 
#define IPLR_TRY_ACQUIRE_SHARED(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))
 
#define IPLR_EXCLUDES(...)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
 
#define IPLR_ASSERT_CAPABILITY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
 
#define IPLR_ASSERT_SHARED_CAPABILITY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
 
#define IPLR_RETURN_CAPABILITY(x)   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
 
#define IPLR_NO_THREAD_SAFETY_ANALYSIS   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
 

Macro Definition Documentation

◆ IPLR_ACQUIRE

#define IPLR_ACQUIRE (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))

Definition at line 35 of file thread_safety.h.

◆ IPLR_ACQUIRE_SHARED

#define IPLR_ACQUIRE_SHARED (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))

Definition at line 38 of file thread_safety.h.

◆ IPLR_ACQUIRED_AFTER

#define IPLR_ACQUIRED_AFTER (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))

Definition at line 26 of file thread_safety.h.

◆ IPLR_ACQUIRED_BEFORE

#define IPLR_ACQUIRED_BEFORE (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))

Definition at line 23 of file thread_safety.h.

◆ IPLR_ASSERT_CAPABILITY

#define IPLR_ASSERT_CAPABILITY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))

Definition at line 59 of file thread_safety.h.

◆ IPLR_ASSERT_SHARED_CAPABILITY

#define IPLR_ASSERT_SHARED_CAPABILITY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))

Definition at line 62 of file thread_safety.h.

◆ IPLR_CAPABILITY

#define IPLR_CAPABILITY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(capability(x))

Definition at line 13 of file thread_safety.h.

◆ IPLR_EXCLUDES

#define IPLR_EXCLUDES (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))

Definition at line 56 of file thread_safety.h.

◆ IPLR_GUARDED_BY

#define IPLR_GUARDED_BY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))

Definition at line 18 of file thread_safety.h.

◆ IPLR_NO_THREAD_SAFETY_ANALYSIS

#define IPLR_NO_THREAD_SAFETY_ANALYSIS   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)

Definition at line 68 of file thread_safety.h.

◆ IPLR_PT_GUARDED_BY

#define IPLR_PT_GUARDED_BY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))

Definition at line 20 of file thread_safety.h.

◆ IPLR_RELEASE

#define IPLR_RELEASE (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))

Definition at line 41 of file thread_safety.h.

◆ IPLR_RELEASE_GENERIC

#define IPLR_RELEASE_GENERIC (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))

Definition at line 47 of file thread_safety.h.

◆ IPLR_RELEASE_SHARED

#define IPLR_RELEASE_SHARED (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))

Definition at line 44 of file thread_safety.h.

◆ IPLR_REQUIRES

#define IPLR_REQUIRES (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))

Definition at line 29 of file thread_safety.h.

◆ IPLR_REQUIRES_SHARED

#define IPLR_REQUIRES_SHARED (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))

Definition at line 32 of file thread_safety.h.

◆ IPLR_RETURN_CAPABILITY

#define IPLR_RETURN_CAPABILITY (   x)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))

Definition at line 65 of file thread_safety.h.

◆ IPLR_SCOPED_CAPABILITY

#define IPLR_SCOPED_CAPABILITY   IPLR_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)

Definition at line 15 of file thread_safety.h.

◆ IPLR_THREAD_ANNOTATION_ATTRIBUTE__

#define IPLR_THREAD_ANNOTATION_ATTRIBUTE__ (   x)

Definition at line 10 of file thread_safety.h.

◆ IPLR_TRY_ACQUIRE

#define IPLR_TRY_ACQUIRE (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))

Definition at line 50 of file thread_safety.h.

◆ IPLR_TRY_ACQUIRE_SHARED

#define IPLR_TRY_ACQUIRE_SHARED (   ...)    IPLR_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))

Definition at line 53 of file thread_safety.h.