[dpdk-dev] [dpdk-stable] [PATCH v2] eal/windows: fix pthreads macros return values

Thomas Monjalon thomas at monjalon.net
Mon Apr 12 22:38:03 CEST 2021


12/04/2021 12:37, Tal Shnaiderman:
> The macro definitions of the following pthread functions
> return incorrect values from the inner function return code.
> 
> while pthread_barrier_init, pthread_barrier_destroy and
> pthread_cancel return 0 in a case of success and non zero (errno) value
> otherwise the shimming functions InitializeSynchronizationBarrier,
> DeleteSynchronizationBarrier and TerminateThread return FALSE (0)
> in a case of failure and TRUE(1) in a case of success.
> 
> This issue was undetected as none of the functions return codes was
> checked until such check was added in commit 34cc55cce6b1 ("eal: fix
> race in control thread creation") exposing the issue by failing
> pthread_barrier_init and rte_eal_init on Windows as a result.
> 
> The fix aligned the return value of the 3 function with the expected
> pthread API return values.
> 
> Fixes: e8428a9d89f1 ("eal/windows: add some basic functions and macros")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Tal Shnaiderman <talshn at nvidia.com>
> ---
> v2:
> -fix unused value warning in MinGW-64 [DmitryK]
> -remove unneeded "fixes" comment [DavidM]

Applied, thanks





More information about the dev mailing list