Skip to content

Commit f975b48

Browse files
committed
format lock_ops.h
1 parent 6f9bfa0 commit f975b48

File tree

1 file changed

+27
-50
lines changed

1 file changed

+27
-50
lines changed

src/util/lock_ops.h

Lines changed: 27 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,83 +9,62 @@
99
#ifndef _FLUTTERPI_SRC_UTIL_LOCK_OPS_H
1010
#define _FLUTTERPI_SRC_UTIL_LOCK_OPS_H
1111

12-
#include <pthread.h>
1312
#include <errno.h>
1413

15-
#include "macros.h"
14+
#include <pthread.h>
15+
1616
#include "asserts.h"
17+
#include "macros.h"
1718

1819
// Code based on the template from: https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
1920

2021
// Enable thread safety attributes only with clang.
2122
// The attributes can be safely erased when compiling with other compilers.
2223
#if defined(__clang__) && (!defined(SWIG))
23-
#define THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
24+
#define THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
2425
#else
25-
#define THREAD_ANNOTATION_ATTRIBUTE__(x) // no-op
26+
#define THREAD_ANNOTATION_ATTRIBUTE__(x) // no-op
2627
#endif
2728

28-
#define CAPABILITY(x) \
29-
THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
29+
#define CAPABILITY(x) THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
3030

31-
#define SCOPED_CAPABILITY \
32-
THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
31+
#define SCOPED_CAPABILITY THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
3332

34-
#define GUARDED_BY(x) \
35-
THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
33+
#define GUARDED_BY(x) THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
3634

37-
#define PT_GUARDED_BY(x) \
38-
THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
35+
#define PT_GUARDED_BY(x) THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
3936

40-
#define ACQUIRED_BEFORE(...) \
41-
THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))
37+
#define ACQUIRED_BEFORE(...) THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))
4238

43-
#define ACQUIRED_AFTER(...) \
44-
THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))
39+
#define ACQUIRED_AFTER(...) THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))
4540

46-
#define REQUIRES(...) \
47-
THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))
41+
#define REQUIRES(...) THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))
4842

49-
#define REQUIRES_SHARED(...) \
50-
THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))
43+
#define REQUIRES_SHARED(...) THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))
5144

52-
#define ACQUIRE(...) \
53-
THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
45+
#define ACQUIRE(...) THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
5446

55-
#define ACQUIRE_SHARED(...) \
56-
THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))
47+
#define ACQUIRE_SHARED(...) THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))
5748

58-
#define RELEASE(...) \
59-
THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))
49+
#define RELEASE(...) THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))
6050

61-
#define RELEASE_SHARED(...) \
62-
THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))
51+
#define RELEASE_SHARED(...) THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))
6352

64-
#define RELEASE_GENERIC(...) \
65-
THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))
53+
#define RELEASE_GENERIC(...) THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(__VA_ARGS__))
6654

67-
#define TRY_ACQUIRE(...) \
68-
THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))
55+
#define TRY_ACQUIRE(...) THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))
6956

70-
#define TRY_ACQUIRE_SHARED(...) \
71-
THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))
57+
#define TRY_ACQUIRE_SHARED(...) THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))
7258

73-
#define EXCLUDES(...) \
74-
THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
59+
#define EXCLUDES(...) THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
7560

76-
#define ASSERT_CAPABILITY(x) \
77-
THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
61+
#define ASSERT_CAPABILITY(x) THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
7862

79-
#define ASSERT_SHARED_CAPABILITY(x) \
80-
THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
81-
82-
#define RETURN_CAPABILITY(x) \
83-
THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
84-
85-
#define NO_THREAD_SAFETY_ANALYSIS \
86-
THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
63+
#define ASSERT_SHARED_CAPABILITY(x) THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
8764

65+
#define RETURN_CAPABILITY(x) THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
8866

67+
#define NO_THREAD_SAFETY_ANALYSIS THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
8968

9069
const pthread_mutexattr_t *get_default_mutex_attrs();
9170

@@ -124,12 +103,11 @@ static inline void mutex_unlock(mutex_t *mutex) RELEASE() {
124103
ASSERT_ZERO_MSG(ok, "Error unlocking mutex.");
125104
}
126105

127-
128106
typedef pthread_rwlock_t rwlock_t CAPABILITY("mutex");
129107

130108
static inline void rwlock_init(rwlock_t *restrict lock) {
131-
ASSERTED int ok = pthread_rwlock_init(lock, NULL);
132-
ASSERT_ZERO_MSG(ok, "Error initializing rwlock.");
109+
ASSERTED int ok = pthread_rwlock_init(lock, NULL);
110+
ASSERT_ZERO_MSG(ok, "Error initializing rwlock.");
133111
}
134112

135113
static inline void rwlock_lock_read(rwlock_t *rwlock) ACQUIRE_SHARED() {
@@ -159,7 +137,6 @@ static inline void rwlock_unlock(rwlock_t *rwlock) RELEASE() {
159137
ASSERT_ZERO_MSG(ok, "Error unlocking rwlock.");
160138
}
161139

162-
163140
#define DECLARE_LOCK_OPS(obj_name) \
164141
UNUSED void obj_name##_lock(struct obj_name *obj); \
165142
UNUSED void obj_name##_unlock(struct obj_name *obj);

0 commit comments

Comments
 (0)