api: add bapi thread handle to api main structure.

Adding the thread handle to the api main structure allows the client process of
the bin api to manage the thread, like setting the thread name for example.

Type: feature
Change-Id: I38b58ddc83d5958c4bda76eadd371eee1545724b
Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
This commit is contained in:
IJsbrand Wijnands
2019-10-08 13:50:55 +02:00
committed by IJsbrand Wijnands
parent 6be5564833
commit 8229580e8d
2 changed files with 12 additions and 1 deletions

View File

@ -340,6 +340,9 @@ typedef struct
/** List of API client reaper functions */
_vl_msg_api_function_list_elt_t *reaper_function_registrations;
/** Bin API thread handle */
pthread_t rx_thread_handle;
/** event log */
elog_main_t *elog_main;
int elog_trace_api_messages;

View File

@ -394,6 +394,7 @@ connect_to_vlib_internal (const char *svm_name,
{
int rv = 0;
memory_client_main_t *mm = &memory_client_main;
api_main_t *am = &api_main;
if (do_map && (rv = vl_client_api_map (svm_name)))
{
@ -415,7 +416,14 @@ connect_to_vlib_internal (const char *svm_name,
rv = pthread_create (&mm->rx_thread_handle,
NULL /*attr */ , rx_thread_fn, 0);
if (rv)
clib_warning ("pthread_create returned %d", rv);
{
clib_warning ("pthread_create returned %d", rv);
am->rx_thread_handle = 0;
}
else
{
am->rx_thread_handle = mm->rx_thread_handle;
}
}
mm->connected_to_vlib = 1;