]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Move atomic things inside atomic_queue.c
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 Sep 2025 19:31:04 +0000 (15:31 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 Sep 2025 19:31:04 +0000 (15:31 -0400)
...so we can spell acquire correctly

src/lib/io/atomic_queue.c
src/lib/io/atomic_queue.h
src/lib/io/worker.c

index 645e7382ff101e330d1d60448e4b58031ed3d163..f008df000188eb7593b8a7c48eabf62e78df7d1e 100644 (file)
@@ -33,6 +33,19 @@ RCSID("$Id$")
 #include <freeradius-devel/io/atomic_queue.h>
 #include <freeradius-devel/util/talloc.h>
 
+/*
+ *     Some macros to make our life easier.
+ */
+#define atomic_int64_t _Atomic(int64_t)
+#define atomic_uint32_t _Atomic(uint32_t)
+#define atomic_uint64_t _Atomic(uint64_t)
+
+#define cas_incr(_store, _var)    atomic_compare_exchange_strong_explicit(&_store, &_var, _var + 1, memory_order_release, memory_order_relaxed)
+#define cas_decr(_store, _var)    atomic_compare_exchange_strong_explicit(&_store, &_var, _var - 1, memory_order_release, memory_order_relaxed)
+#define load(_var)             atomic_load_explicit(&_var, memory_order_relaxed)
+#define acquire(_var)          atomic_load_explicit(&_var, memory_order_acquire)
+#define store(_store, _var)    atomic_store_explicit(&_store, _var, memory_order_release)
+
 #define CACHE_LINE_SIZE        64
 
 /** Entry in the queue
@@ -161,7 +174,7 @@ bool fr_atomic_queue_push(fr_atomic_queue_t *aq, void *data)
                int64_t seq, diff;
 
                entry = &aq->entry[ head % aq->size ];
-               seq = aquire(entry->seq);
+               seq = acquire(entry->seq);
                diff = (seq - head);
 
                /*
@@ -225,7 +238,7 @@ bool fr_atomic_queue_pop(fr_atomic_queue_t *aq, void **p_data)
                int64_t diff;
 
                entry = &aq->entry[ tail % aq->size ];
-               seq = aquire(entry->seq);
+               seq = acquire(entry->seq);
 
                diff = (seq - (tail + 1));
 
index 015e143b73fbdb9f075631d1d11e0190bc058450..82266f72d8f657073a7733a11f127f4fa5ff4d95 100644 (file)
@@ -34,19 +34,6 @@ RCSIDH(atomic_queue_h, "$Id$")
 #endif
 #include <freeradius-devel/util/talloc.h>
 
-/*
- *     Some macros to make our life easier.
- */
-#define atomic_int64_t _Atomic(int64_t)
-#define atomic_uint32_t _Atomic(uint32_t)
-#define atomic_uint64_t _Atomic(uint64_t)
-
-#define cas_incr(_store, _var)    atomic_compare_exchange_strong_explicit(&_store, &_var, _var + 1, memory_order_release, memory_order_relaxed)
-#define cas_decr(_store, _var)    atomic_compare_exchange_strong_explicit(&_store, &_var, _var - 1, memory_order_release, memory_order_relaxed)
-#define load(_var)           atomic_load_explicit(&_var, memory_order_relaxed)
-#define aquire(_var)         atomic_load_explicit(&_var, memory_order_acquire)
-#define store(_store, _var)  atomic_store_explicit(&_store, _var, memory_order_release)
-
 #ifdef __cplusplus
 extern "C" {
 #endif
index bd0caa937f57a0487235501e4487264f73044333..45fe891d88979deea46e8d14e946399c29320fb7 100644 (file)
@@ -76,7 +76,7 @@ static void worker_verify(fr_worker_t *worker);
 #endif
 
 #define CACHE_LINE_SIZE        64
-static alignas(CACHE_LINE_SIZE) atomic_uint64_t request_number = 0;
+static alignas(CACHE_LINE_SIZE) _Atomic(uint64_t) request_number = 0;
 
 FR_SLAB_TYPES(request, request_t);
 FR_SLAB_FUNCS(request, request_t);