[PATCH 5/5] eal: simplify eal alarm cancel by using LIST_FOREACH_SAFE

Stephen Hemminger stephen at networkplumber.org
Fri Aug 9 17:00:49 CEST 2024


On Fri, 9 Aug 2024 10:33:49 +0200
Morten Brørup <mb at smartsharesystems.com> wrote:

> > +++ b/lib/eal/linux/eal_alarm.c
> > @@ -53,6 +53,13 @@ static struct rte_intr_handle *intr_handle;
> >  static int handler_registered = 0;
> >  static void eal_alarm_callback(void *arg);
> > 
> > +#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  
> 
> This macro is already defined for Windows [1]; isn't it also defined in some Linux/BSD standard header file already?
> 
> [1]: https://elixir.bootlin.com/dpdk/v24.07/source/lib/eal/windows/include/sys/queue.h#L515
> 

Unfortunately, sys/queue.h on Linux is stuck on some old version.
There maybe more complete version on some libbsd headers but don't want
to get into having that dependency.


More information about the dev mailing list