[lttng-dev] [PATCH urcu] urcu: add cds_list_for_each_entry_safe_from macro
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri May 8 16:24:40 EDT 2015
----- Original Message -----
> Same as cds_list_for_each_entry_safe, but starts at an arbitrary point
> within the list instead of at the head.
Merged in urcu master branch, thanks!
Mathieu
>
> Signed-off-by: Jeff Layton <jeff.layton at primarydata.com>
> ---
> urcu/list.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/urcu/list.h b/urcu/list.h
> index b4962b445dfb..4aaf869351fe 100644
> --- a/urcu/list.h
> +++ b/urcu/list.h
> @@ -171,6 +171,15 @@ void cds_list_splice(struct cds_list_head *add, struct
> cds_list_head *head)
> &pos->member != (head); \
> pos = p, p = cds_list_entry(pos->member.next, __typeof__(*pos), member))
>
> +/*
> + * Same as cds_list_for_each_entry_safe, but starts from "pos" which should
> + * point to an entry within the list.
> + */
> +#define cds_list_for_each_entry_safe_from(pos, p, head, member) \
> + for (p = cds_list_entry(pos->member.next, __typeof__(*pos), member);
> \
> + &pos->member != (head); \
> + pos = p, p = cds_list_entry(pos->member.next,
> __typeof__(*pos), member))
> +
> static inline
> int cds_list_empty(struct cds_list_head *head)
> {
> --
> 2.1.0
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list