[dpdk-dev] [PATCH v16 7/9] eal: implement functions for mutex management
Thomas Monjalon
thomas at monjalon.net
Tue Oct 12 18:28:56 CEST 2021
09/10/2021 09:41, Narcisa Ana Maria Vasile:
> From: Narcisa Vasile <navasile at microsoft.com>
>
> Add functions for mutex init, destroy, lock, unlock, trylock.
>
> Add RTE_STATIC_MUTEX macro to replace static initialization
> of mutexes.
> Windows does not have a static initializer.
> Initialization is only done through InitializeCriticalSection().
>
> The RTE_STATIC_MUTEX calls into the rte_thread_mutex_init()
> function that performs the actual mutex initialization.
[...]
> --- a/lib/eal/include/rte_thread.h
> +++ b/lib/eal/include/rte_thread.h
> +#define RTE_DECLARE_MUTEX(private_lock) rte_thread_mutex private_lock
> +
> +#define RTE_DEFINE_MUTEX(private_lock)\
> +RTE_INIT(__rte_ ## private_lock ## _init)\
> +{\
> + RTE_VERIFY(rte_thread_mutex_init(&private_lock) == 0);\
> +}
> +
> +#define RTE_STATIC_MUTEX(private_lock)\
> +static RTE_DECLARE_MUTEX(private_lock);\
> +RTE_DEFINE_MUTEX(private_lock)
This is not truly static.
It is a wrapper to init the mutex in the constructor.
Should we rename?
More information about the dev
mailing list