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: sta...@dpdk.org > > Signed-off-by: Tal Shnaiderman <tal...@nvidia.com> > --- > v2: > -fix unused value warning in MinGW-64 [DmitryK] > -remove unneeded "fixes" comment [DavidM]
Applied, thanks