* On failure (either memory allocation issue in the function itself or an
* error is returned by the init callback itself), returns NULL.
*/
-__rte_experimental
void *
rte_lcore_callback_register(const char *name, rte_lcore_init_cb init,
rte_lcore_uninit_cb uninit, void *arg);
* The handle pointer returned by a former successful call to
* rte_lcore_callback_register.
*/
-__rte_experimental
void
rte_lcore_callback_unregister(void *handle);
* Same return code as the callback last invocation (see rte_lcore_iterate_cb
* description).
*/
-__rte_experimental
int
rte_lcore_iterate(rte_lcore_iterate_cb cb, void *arg);
* @param f
* The output stream where the dump should be sent.
*/
-__rte_experimental
void
rte_lcore_dump(FILE *f);
* @return
* On success, return 0; otherwise return -1 with rte_errno set.
*/
-__rte_experimental
int
rte_thread_register(void);
/**
* Unregister current thread and release lcore if one was associated.
*/
-__rte_experimental
void
rte_thread_unregister(void);
/**
* Create a control thread.
*
- * Wrapper to pthread_create(), pthread_setname_np() and
- * pthread_setaffinity_np(). The affinity of the new thread is based
- * on the CPU affinity retrieved at the time rte_eal_init() was called,
- * the dataplane and service lcores are then excluded.
+ * Creates a control thread with the given name and attributes. The
+ * affinity of the new thread is based on the CPU affinity retrieved
+ * at the time rte_eal_init() was called, the dataplane and service
+ * lcores are then excluded. If setting the name of the thread fails,
+ * the error is ignored and a debug message is logged.
*
* @param thread
* Filled with the thread id of the new created thread.