Remove rte_ctrl_thread_create API which exposes pthread_t and provide new rte_control_thread_create API based on EALs rte_thread_t.
To limit compatibility regression risk and ease of removal of the existing rte_ctrl_thread_create in the future duplicate most of the existing implementation. The duplication will be removed when rte_ctrl_thread_create is finally duplicated/removed. The unit test for rte_ctrl_thread_create has been duplicated to exercise both the old and the new API during transition, as with the API the duplicate test will be removed when the rte_ctrl_thread_create API is removed. v4: * fix missing whitespace in deprecation notice text * remove comment in rte_control_thread_create implementation referring to sched_yield as requested by community feedback * add missing parameter name to function pointer declaration v3: * use {ctrl,control}_start_routine for start_routine field names * fix conditional evaluation style p == NULL instead of !p * tweak documentation comment for rte_control_thread_create - "the EAL threads are then excluded" - note RTE_MAX_THREAD_NAME_LEN preprocessor definition is the name size (including terminating NUL) limit * add missing cast to uintptr_t v2: * correct style error void * (*foo) -> void *(*foo) * place retval on lhs of comparison 0 != foo() -> foo() != 0 * add missing commit description on patch 3/3 * add cast uintptr_t to pthread_t where appropriate * fix doxygen @param names to match parameter names Tyler Retzlaff (3): eal: add rte control thread create API test: add rte control thread create API test eal: deprecate pthread control thread create API app/test/test_lcores.c | 42 +++++++++++++++++ doc/guides/rel_notes/deprecation.rst | 4 ++ lib/eal/common/eal_common_thread.c | 89 ++++++++++++++++++++++++++++++++---- lib/eal/include/rte_thread.h | 30 ++++++++++++ lib/eal/version.map | 3 ++ 5 files changed, 160 insertions(+), 8 deletions(-) -- 1.8.3.1 Series-Acked-by: Morten Brørup <m...@smartsharesystems.com>