]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
update FR_TRUNC_LIST macro to specify a target data type
authorCatalina Pineros <catalina.pineros@inkbridge.io>
Thu, 19 Mar 2026 06:37:09 +0000 (02:37 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 19 Mar 2026 07:04:45 +0000 (03:04 -0400)
src/lib/server/trunk.c

index 8db873be94162ac501c7405855fd31e5c67bc4e5..f54d5a60b09e0664220e6ef48ad7b687982a659c 100644 (file)
@@ -799,27 +799,29 @@ do { \
        fr_minmax_heap_insert((_tconn)->pub.trunk->active, (_tconn)); \
 } while (0)
 
+DIAG_OFF(unused-function)
 
-#define FR_TRUNK_LIST_FUNC(_list) \
-static inline CC_HINT(nonnull, always_inline) void trunk_list_ ## _list ## _add(trunk_t *trunk, trunk_request_t *treq) \
+#define FR_TRUNK_LIST_FUNC(_list,_type) \
+static inline CC_HINT(nonnull, always_inline) void trunk_list_ ## _list ## _add(trunk_t *trunk, _type *arg) \
 { \
-       fr_dlist_insert_head(&trunk->_list, treq); \
+       fr_dlist_insert_head(&trunk->_list, arg); \
 } \
-static inline CC_HINT(nonnull, always_inline) trunk_request_t *trunk_list_ ## _list ##_peek(trunk_t *trunk) \
+static inline CC_HINT(nonnull, always_inline) _type *trunk_list_ ## _list ##_peek(trunk_t *trunk) \
 { \
        return fr_dlist_tail(&trunk->_list); \
 } \
-static inline CC_HINT(nonnull, always_inline) trunk_request_t *trunk_list_ ## _list ##_pop(trunk_t *trunk) \
+static inline CC_HINT(nonnull, always_inline) _type *trunk_list_ ## _list ##_pop(trunk_t *trunk) \
 { \
        return fr_dlist_pop_head(&trunk->_list); \
 } \
-static inline CC_HINT(nonnull, always_inline) void trunk_list_ ## _list ##_remove(trunk_t *trunk, trunk_request_t *treq) \
+static inline CC_HINT(nonnull, always_inline) void trunk_list_ ## _list ##_remove(trunk_t *trunk, _type *arg) \
 { \
-       fr_dlist_remove(&trunk->_list, treq); \
+       fr_dlist_remove(&trunk->_list, arg); \
 }
 
-FR_TRUNK_LIST_FUNC(free_requests)
+FR_TRUNK_LIST_FUNC(free_requests, trunk_request_t)
 
+DIAG_ON(unused-function)
 
 /** Call a list of watch functions associated with a state
  *
@@ -3162,7 +3164,8 @@ static void trunk_connection_enter_full(trunk_connection_t *tconn)
                CONN_BAD_STATE_TRANSITION(TRUNK_CONN_FULL);
        }
 
-       fr_dlist_insert_head(&trunk->full, tconn);
+
+       trunk_list_full_add(trunk, tconn);
        CONN_STATE_TRANSITION(TRUNK_CONN_FULL, DEBUG2);
 }