1
1
#include "util.h"
2
2
3
- #ifndef LJACK_ASYNC_UTIL_H
4
- #define LJACK_ASYNC_UTIL_H
3
+ #ifndef CARRAY_ASYNC_UTIL_H
4
+ #define CARRAY_ASYNC_UTIL_H
5
5
6
6
/* -------------------------------------------------------------------------------------------- */
7
7
8
- #define async_util_abort ljack_async_util_abort
8
+ #define async_util_abort carray_async_util_abort
9
9
bool async_util_abort (int rc , int line ); /* function does not return */
10
10
11
11
/* -------------------------------------------------------------------------------------------- */
12
12
13
- #if defined(LJACK_ASYNC_USE_WIN32 )
13
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
14
14
typedef LONG AtomicCounter ;
15
15
typedef PVOID AtomicPtr ;
16
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
16
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
17
17
typedef atomic_int AtomicCounter ;
18
18
typedef atomic_intptr_t AtomicPtr ;
19
- #elif defined(LJACK_ASYNC_USE_GNU )
19
+ #elif defined(CARRAY_ASYNC_USE_GNU )
20
20
typedef int AtomicCounter ;
21
21
typedef void * AtomicPtr ;
22
22
#endif
@@ -25,23 +25,23 @@ typedef void* AtomicPtr;
25
25
26
26
static inline bool atomic_set_ptr_if_equal (AtomicPtr * ptr , void * oldPtr , void * newPtr )
27
27
{
28
- #if defined(LJACK_ASYNC_USE_WIN32 )
28
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
29
29
return oldPtr == InterlockedCompareExchangePointer (ptr , newPtr , oldPtr );
30
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
30
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
31
31
intptr_t old = (intptr_t ) oldPtr ;
32
32
return atomic_compare_exchange_strong (ptr , & old , (intptr_t )newPtr );
33
- #elif defined(LJACK_ASYNC_USE_GNU )
33
+ #elif defined(CARRAY_ASYNC_USE_GNU )
34
34
return __sync_bool_compare_and_swap (ptr , oldPtr , newPtr );
35
35
#endif
36
36
}
37
37
38
38
static inline void * atomic_get_ptr (AtomicPtr * ptr )
39
39
{
40
- #if defined(LJACK_ASYNC_USE_WIN32 )
40
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
41
41
return InterlockedCompareExchangePointer (ptr , 0 , 0 );
42
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
42
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
43
43
return (void * )atomic_load (ptr );
44
- #elif defined(LJACK_ASYNC_USE_GNU )
44
+ #elif defined(CARRAY_ASYNC_USE_GNU )
45
45
return __sync_add_and_fetch (ptr , 0 );
46
46
#endif
47
47
}
@@ -50,55 +50,55 @@ static inline void* atomic_get_ptr(AtomicPtr* ptr)
50
50
51
51
static inline int atomic_inc (AtomicCounter * value )
52
52
{
53
- #if defined(LJACK_ASYNC_USE_WIN32 )
53
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
54
54
return InterlockedIncrement (value );
55
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
55
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
56
56
return atomic_fetch_add (value , 1 ) + 1 ;
57
- #elif defined(LJACK_ASYNC_USE_GNU )
57
+ #elif defined(CARRAY_ASYNC_USE_GNU )
58
58
return __sync_add_and_fetch (value , 1 );
59
59
#endif
60
60
}
61
61
62
62
static inline int atomic_dec (AtomicCounter * value )
63
63
{
64
- #if defined(LJACK_ASYNC_USE_WIN32 )
64
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
65
65
return InterlockedDecrement (value );
66
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
66
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
67
67
return atomic_fetch_sub (value , 1 ) - 1 ;
68
- #elif defined(LJACK_ASYNC_USE_GNU )
68
+ #elif defined(CARRAY_ASYNC_USE_GNU )
69
69
return __sync_sub_and_fetch (value , 1 );
70
70
#endif
71
71
}
72
72
73
73
static inline bool atomic_set_if_equal (AtomicCounter * value , int oldValue , int newValue )
74
74
{
75
- #if defined(LJACK_ASYNC_USE_WIN32 )
75
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
76
76
return oldValue == InterlockedCompareExchange (value , newValue , oldValue );
77
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
77
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
78
78
return atomic_compare_exchange_strong (value , & oldValue , newValue );
79
- #elif defined(LJACK_ASYNC_USE_GNU )
79
+ #elif defined(CARRAY_ASYNC_USE_GNU )
80
80
return __sync_bool_compare_and_swap (value , oldValue , newValue );
81
81
#endif
82
82
}
83
83
84
84
static inline int atomic_get (AtomicCounter * value )
85
85
{
86
- #if defined(LJACK_ASYNC_USE_WIN32 )
86
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
87
87
return InterlockedCompareExchange (value , 0 , 0 );
88
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
88
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
89
89
return atomic_load (value );
90
- #elif defined(LJACK_ASYNC_USE_GNU )
90
+ #elif defined(CARRAY_ASYNC_USE_GNU )
91
91
return __sync_add_and_fetch (value , 0 );
92
92
#endif
93
93
}
94
94
95
95
static inline int atomic_set (AtomicCounter * value , int newValue )
96
96
{
97
- #if defined(LJACK_ASYNC_USE_WIN32 )
97
+ #if defined(CARRAY_ASYNC_USE_WIN32 )
98
98
return InterlockedExchange (value , newValue );
99
- #elif defined(LJACK_ASYNC_USE_STDATOMIC )
99
+ #elif defined(CARRAY_ASYNC_USE_STDATOMIC )
100
100
return atomic_exchange (value , newValue );
101
- #elif defined(LJACK_ASYNC_USE_GNU )
101
+ #elif defined(CARRAY_ASYNC_USE_GNU )
102
102
int rslt = __sync_lock_test_and_set (value , newValue );
103
103
__sync_synchronize ();
104
104
return rslt ;
@@ -107,5 +107,5 @@ static inline int atomic_set(AtomicCounter* value, int newValue)
107
107
108
108
/* -------------------------------------------------------------------------------------------- */
109
109
110
- #endif /* LJACK_ASYNC_UTIL_H */
110
+ #endif /* CARRAY_ASYNC_UTIL_H */
111
111
0 commit comments