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.
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 | 60 +++++++++++
lib/eal/include/rte_thread.h | 187 ++++++++++++++++++++++++++++++++++
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, 705 insertions(+), 49 deletions(-)
create mode 100644 lib/eal/common/rte_thread.c
--
1.8.3.1