15
15
16
16
#include <isc/util.h>
17
17
18
- #if __SANITIZE_THREAD__
18
+ #if HAVE_PTHREAD_BARRIER_INIT
19
19
20
20
#include <pthread.h>
21
21
22
- #define isc_barrier_t pthread_barrier_t
22
+ #if ISC_TRACK_PTHREADS_OBJECTS
23
+ typedef pthread_barrier_t * isc_barrier_t ;
24
+ #else
25
+ typedef pthread_barrier_t isc_barrier_t ;
26
+ #endif
27
+
28
+ #define isc__barrier_init (bp , count ) \
29
+ { \
30
+ int _ret = pthread_barrier_init(bp, NULL, count); \
31
+ PTHREADS_RUNTIME_CHECK(pthread_barrier_init, _ret); \
32
+ }
23
33
24
- #define isc_barrier_init (barrier , count ) \
25
- pthread_barrier_init(barrier, NULL, count)
26
- #define isc_barrier_destroy (barrier ) pthread_barrier_destroy(barrier)
27
- #define isc_barrier_wait (barrier ) pthread_barrier_wait(barrier)
34
+ #define isc__barrier_wait (bp ) pthread_barrier_wait(bp)
28
35
29
- #else /* __SANITIZE_THREAD__ */
36
+ #define isc__barrier_destroy (bp ) \
37
+ { \
38
+ int _ret = pthread_barrier_destroy(bp); \
39
+ PTHREADS_RUNTIME_CHECK(pthread_barrier_destroy, _ret); \
40
+ }
30
41
31
- #include <isc/uv.h>
42
+ #else
32
43
33
- #if ISC_TRACK_PTHREADS_OBJECTS
44
+ #include <uv.h>
34
45
46
+ #if ISC_TRACK_PTHREADS_OBJECTS
35
47
typedef uv_barrier_t * isc_barrier_t ;
48
+ #else
49
+ typedef uv_barrier_t isc_barrier_t ;
50
+ #endif
51
+
52
+ #define isc__barrier_init (bp , count ) \
53
+ { \
54
+ int _ret = uv_barrier_init(bp, count); \
55
+ UV_RUNTIME_CHECK(uv_barrier_init, _ret); \
56
+ }
57
+
58
+ #define isc__barrier_wait (bp ) uv_barrier_wait(bp)
59
+
60
+ #define isc__barrier_destroy (bp ) uv_barrier_destroy(bp)
61
+
62
+ #endif
63
+
64
+ #if ISC_TRACK_PTHREADS_OBJECTS
36
65
37
66
#define isc_barrier_init (bp , count ) \
38
67
{ \
@@ -48,22 +77,8 @@ typedef uv_barrier_t *isc_barrier_t;
48
77
49
78
#else /* ISC_TRACK_PTHREADS_OBJECTS */
50
79
51
- typedef uv_barrier_t isc_barrier_t ;
52
-
53
80
#define isc_barrier_init (bp , count ) isc__barrier_init(bp, count)
54
81
#define isc_barrier_wait (bp ) isc__barrier_wait(bp)
55
82
#define isc_barrier_destroy (bp ) isc__barrier_destroy(bp)
56
83
57
84
#endif /* ISC_TRACK_PTHREADS_OBJECTS */
58
-
59
- #define isc__barrier_init (bp , count ) \
60
- { \
61
- int _ret = uv_barrier_init(bp, count); \
62
- UV_RUNTIME_CHECK(uv_barrier_init, _ret); \
63
- }
64
-
65
- #define isc__barrier_wait (bp ) uv_barrier_wait(bp)
66
-
67
- #define isc__barrier_destroy (bp ) uv_barrier_destroy(bp)
68
-
69
- #endif /* __SANITIZE_THREAD__ */
0 commit comments