[ltt-dev] [PATCH] Lib urcu commit 453629a9317adef5b96c3d55e4dcd98db680997a moved container_of definition to urcu/compiler.h Since, multiple warnings about redefinition of container_of appears.

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Mon Aug 16 00:24:27 EDT 2010


* David Goulet (david.goulet at polymtl.ca) wrote:
> Removed macro definition from ust core header and kcompat.
> Now using lib urcu macro definition which is the same.

Hrm, there is a dependency on the latest unreleased urcu git head.

To make the transition easier, please wrap it into a

#ifndef container_of
...
#endif

instead of removing it from ust.

Thanks,

Mathieu

> 
> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> ---
>  include/ust/core.h           |    4 ----
>  include/ust/kcompat/simple.h |   12 ------------
>  2 files changed, 0 insertions(+), 16 deletions(-)
> 
> diff --git a/include/ust/core.h b/include/ust/core.h
> index 0172614..b538e81 100644
> --- a/include/ust/core.h
> +++ b/include/ust/core.h
> @@ -141,8 +141,4 @@ static __inline__ int get_count_order(unsigned int count)
>  	return order;
>  }
>  
> -#define container_of(ptr, type, member) ({                      \
> -        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
> -        (type *)( (char *)__mptr - offsetof(type,member) );})
> -
>  #endif /* UST_CORE_H */
> diff --git a/include/ust/kcompat/simple.h b/include/ust/kcompat/simple.h
> index 762d802..38a9be5 100644
> --- a/include/ust/kcompat/simple.h
> +++ b/include/ust/kcompat/simple.h
> @@ -21,18 +21,6 @@
>  #ifndef KCOMPAT_SIMPLE_H
>  #define KCOMPAT_SIMPLE_H
>  
> -/**
> - * container_of - cast a member of a structure out to the containing structure
> - * @ptr:	the pointer to the member.
> - * @type:	the type of the container struct this is embedded in.
> - * @member:	the name of the member within the struct.
> - *
> - */
> -#define container_of(ptr, type, member) ({			\
> -	const typeof( ((type *)0)->member ) *__mptr = (ptr);	\
> -	(type *)( (char *)__mptr - offsetof(type,member) );})
> -
> -
>  /* libkcompat: from rcupdate.h */
>  
>  struct rcu_head {
> -- 
> 1.7.0.4
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list