The problem should be solved by shared memory alloc, instead of using #define. 
We should minimize #defines in the API.

-Petri


> -----Original Message-----
> From: lng-odp [mailto:[email protected]] On Behalf Of
> EXT Bill Fischofer
> Sent: Wednesday, November 11, 2015 3:43 AM
> To: [email protected]
> Subject: [lng-odp] [API-NEXT PATCH 3/3] linux-generic: locks: revise
> implementation of recursive rwlocks
> 
> Change linux-generic implementation of rwlock_recursive types to
> reference the externally visible ODP_CONFIG_THREADS symbol rather than
> the internal _ODP_INTERNAL_MAX_THREADS symbol. This avoids causing
> issues with installed copies of ODP that do not export internal
> symbols.
> 
> Signed-off-by: Bill Fischofer <[email protected]>
> ---
>  platform/linux-generic/include/odp/plat/rwlock_recursive_types.h | 4
> ++--
>  platform/linux-generic/include/odp_config_internal.h             | 2
> +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/platform/linux-
> generic/include/odp/plat/rwlock_recursive_types.h b/platform/linux-
> generic/include/odp/plat/rwlock_recursive_types.h
> index d5bfb92..5989e26 100644
> --- a/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> +++ b/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> @@ -19,14 +19,14 @@ extern "C" {
> 
>  #include <odp/rwlock.h>
>  #include <odp/std_types.h>
> -#include <odp_config_internal.h>
> +#include <odp/config.h>
> 
>  /** @internal */
>  struct odp_rwlock_recursive_s {
>       odp_rwlock_t lock;                       /**< the lock */
>       int wr_owner;                            /**< write owner thread
> */
>       uint32_t wr_cnt;                         /**< write recursion
> count */
> -     uint8_t  rd_cnt[_ODP_INTERNAL_MAX_THREADS]; /**< read recursion
> count */
> +     uint8_t  rd_cnt[ODP_CONFIG_THREADS];     /**< read recursion
> count */
>  };
> 
>  typedef struct odp_rwlock_recursive_s odp_rwlock_recursive_t;
> diff --git a/platform/linux-generic/include/odp_config_internal.h
> b/platform/linux-generic/include/odp_config_internal.h
> index 4f20ff8..c484ce6 100644
> --- a/platform/linux-generic/include/odp_config_internal.h
> +++ b/platform/linux-generic/include/odp_config_internal.h
> @@ -20,7 +20,7 @@ extern "C" {
>  /**
>   * Maximum number of threads
>   */
> -#define _ODP_INTERNAL_MAX_THREADS  128
> +#define _ODP_INTERNAL_MAX_THREADS  ODP_CONFIG_THREADS
> 
>  #ifdef __cplusplus
>  }
> --
> 2.1.4
> 
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to