]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move FR_DLIST_INSERT_HEAD to static inline.
authorAlan T. DeKok <aland@freeradius.org>
Mon, 1 May 2017 14:34:56 +0000 (10:34 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 1 May 2017 14:34:56 +0000 (10:34 -0400)
Hopefully the compiler should inline it.

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

index 075059fce670805772fe7be2337000e4c3f50036..7875e1759c6b8f39791df1e2a2b64a39f6b87e67 100644 (file)
@@ -215,7 +215,7 @@ void fr_time_tracking_yield(fr_time_tracking_t *tt, fr_time_t when, fr_time_trac
         *      Insert this request into the TAIL of the worker's list
         *      of waiting requests.
         */
-       FR_DLIST_INSERT_HEAD(worker->list, tt->list);
+       fr_dlist_insert_head(&worker->list, &tt->list);
 }
 
 
index ecc882aeaec5eaece33190c1c10ee9113a6f4b33..e1997418d9515c92d974af7b0e76f1ca47817a69 100644 (file)
@@ -82,8 +82,14 @@ typedef struct fr_time_tracking_t {
  *     Macros to manage a doubly linked list.
  */
 #define FR_DLIST_INIT(head) do { head.prev = head.next = &head; } while (0)
-#define FR_DLIST_INSERT_HEAD(head, entry) do { entry.next = head.next; entry.prev = &head; head.next->prev = &entry; head.next = &entry; } while (0)
-#define FR_DLIST_INSERT_HEAD_PTR(head, entry) do { entry.next = head->next; entry.prev = head; head->next->prev = &entry; head->next = &entry; } while (0)
+static inline void fr_dlist_insert_head(fr_dlist_t *head, fr_dlist_t *entry)
+{
+       entry->prev = head;
+       entry->next = head->next;
+       head->next->prev = entry;
+       head->next = entry;
+}
+
 #define FR_DLIST_INSERT_TAIL(head, entry) do { entry.prev = head.prev; entry.next = &head; head.prev->next = &entry; head.prev = &entry; } while (0)
 #define FR_DLIST_INSERT_TAIL_PTR(p_head, entry) do { entry.prev = p_head->prev; entry.next = p_head; p_head->prev->next = &entry; p_head->prev = &entry; } while (0)
 #define FR_DLIST_REMOVE(entry) do { entry.prev->next = entry.next; entry.next->prev = entry.prev; FR_DLIST_INIT(entry); } while (0)
index eee68f79aeac3d41ef21212b6e9a9c940904037a..b88791e03baf8272f467dfcf6b7e6eec9cc00456 100644 (file)
@@ -138,7 +138,7 @@ struct fr_worker_t {
        } while (0)
 
 #define WORKER_HEAP_INSERT(_name, _var, _member) do { \
-               FR_DLIST_INSERT_HEAD(worker->_name.list, _var->_member); \
+               fr_dlist_insert_head(&worker->_name.list, &_var->_member); \
                (void) fr_heap_insert(worker->_name.heap, _var);        \
        } while (0)
 
@@ -737,7 +737,7 @@ nak:
         */
        entry = FR_DLIST_FIRST(worker->time_order);
        if (!entry) {
-               FR_DLIST_INSERT_HEAD(worker->time_order, request->time_order);
+               fr_dlist_insert_head(&worker->time_order, &request->time_order);
        } else {
                REQUEST *old;
                fr_dlist_t *prev = &worker->time_order;
@@ -763,7 +763,7 @@ nak:
                        entry = FR_DLIST_NEXT(worker->time_order, entry);
                }
 
-               FR_DLIST_INSERT_HEAD_PTR(prev, request->time_order);
+               fr_dlist_insert_head(prev, &request->time_order);
        }
 
        /*