[PATCH 1/2] common: add safe version of foreach-list to Linux
Hamza Khan
hamza.khan at intel.com
Wed Jun 1 12:54:54 CEST 2022
Linux EAL does not have the LIST_FOREACH_SAFE version of the
iterator macros. Add it.
Signed-off-by: Hamza Khan <hamza.khan at intel.com>
---
lib/eal/linux/include/rte_os.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/eal/linux/include/rte_os.h b/lib/eal/linux/include/rte_os.h
index c72bf5b7e6..00d7714181 100644
--- a/lib/eal/linux/include/rte_os.h
+++ b/lib/eal/linux/include/rte_os.h
@@ -26,6 +26,13 @@ extern "C" {
#define RTE_STAILQ_HEAD(name, type) STAILQ_HEAD(name, type)
#define RTE_STAILQ_ENTRY(type) STAILQ_ENTRY(type)
+#ifndef LIST_FOREACH_SAFE
+#define LIST_FOREACH_SAFE(var, head, field, tvar) \
+ for ((var) = LIST_FIRST((head)); \
+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \
+ (var) = (tvar))
+#endif
+
#ifdef CPU_SETSIZE /* may require _GNU_SOURCE */
typedef cpu_set_t rte_cpuset_t;
#define RTE_HAS_CPUSET
--
2.25.1
More information about the dev
mailing list