add rte thread lifetime and attributes api. with these api additions
there is now sufficient platform abstracted thread api to remove the
use of pthread in the unit tests.
v5:
* include errno.h in rte_thread.c since errno.h is no longer included
in rte_common.h
* move rte_thread_attr symbols from 22.07 to 22.11 section of
version.map.
* remove RTE_HAS_CPUSET guards from rte_thread.h
* change case of characters in commit message for patches {6,5,4} of
the series.
v4:
* update version.map to show api from series added in 22.11 instead
of 22.07.
* fix missing parameter name in rte_thread_func declaration causing
doxygen ci failure.
v3:
* change rte_thread_func return type to uint32_t for exit value.
* change rte_thread_join retval to be uint32_t (matched with the
return value from rte_thread_func).
* introduce a wrapper for rte_thread_func on posix platforms to
adapt differences between rte_thread_func and pthread
start_routine.
* remove interpretation / dereference of result from pthread_join
in posix implementation of rte_thread_join.
* fix leak of dynamically allocated thread_routine_ctx on windows
in error paths.
* don't cast and truncate NULL to integer value for rte_thread_join
when pthread_join returns no result.
v2:
* split implementation of rte_thread_equal for windows / posix
and use pthread_equal for posix platforms.
* remove parameter validation assertions and instead return
EINVAL for mandatory pointers to type that are NULL.
* correct doxygen comment parameter name args -> arg
Tyler Retzlaff (6):
eal: add thread attributes
eal: add thread lifetime management
eal: add basic rte thread ID equal API
test/threads: add tests for thread lifetime API
test/threads: add tests for thread attributes API
test/threads: remove unit test use of pthread
app/test/test_threads.c | 134 ++++++++++++++++++++++--
lib/eal/common/meson.build | 1 +
lib/eal/common/rte_thread.c | 62 ++++++++++++
lib/eal/include/rte_thread.h | 185 ++++++++++++++++++++++++++++++++-
lib/eal/unix/rte_thread.c | 141 ++++++++++++++++++++++++++
lib/eal/version.map | 10 ++
lib/eal/windows/include/sched.h | 2 +-
lib/eal/windows/rte_thread.c | 219 ++++++++++++++++++++++++++++++++--------
8 files changed, 702 insertions(+), 52 deletions(-)
create mode 100644 lib/eal/common/rte_thread.c
--
1.8.3.1