X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvlibmemory%2Fmemory_client.c;h=f0b05b70695745ac2e8a4234114d4d1ecb04b780;hb=36217e3ca;hp=b5090636a7f37d94f0c2abb9c469909ada879bbc;hpb=684fb6e930a278385993504ba28c497d56bcb05e;p=vpp.git diff --git a/src/vlibmemory/memory_client.c b/src/vlibmemory/memory_client.c index b5090636a7f..f0b05b70695 100644 --- a/src/vlibmemory/memory_client.c +++ b/src/vlibmemory/memory_client.c @@ -63,7 +63,7 @@ rx_thread_fn (void *arg) vlibapi_set_main (a->am); vlibapi_set_memory_client_main (a->mm); - clib_mem_free (a); + free (a); mm = vlibapi_get_memory_client_main (); q = vlibapi_get_main ()->vl_input_queue; @@ -160,7 +160,6 @@ void vl_msg_api_send_shmem (svm_queue_t * q, u8 * elem); int vl_client_connect (const char *name, int ctx_quota, int input_queue_size) { - svm_region_t *svm; vl_api_memclnt_create_t *mp; vl_api_memclnt_create_reply_t *rp; svm_queue_t *vl_input_queue; @@ -181,7 +180,6 @@ vl_client_connect (const char *name, int ctx_quota, int input_queue_size) return -1; } - svm = am->vlib_rp; shmem_hdr = am->shmem_hdr; if (shmem_hdr == 0 || shmem_hdr->vl_input_queue == 0) @@ -193,12 +191,10 @@ vl_client_connect (const char *name, int ctx_quota, int input_queue_size) CLIB_MEM_UNPOISON (shmem_hdr, sizeof (*shmem_hdr)); VL_MSG_API_SVM_QUEUE_UNPOISON (shmem_hdr->vl_input_queue); - pthread_mutex_lock (&svm->mutex); - oldheap = svm_push_data_heap (svm); + oldheap = vl_msg_push_heap (); vl_input_queue = svm_queue_alloc_and_init (input_queue_size, sizeof (uword), getpid ()); - svm_pop_heap (oldheap); - pthread_mutex_unlock (&svm->mutex); + vl_msg_pop_heap (oldheap); am->my_client_index = ~0; am->my_registration = 0; @@ -256,11 +252,9 @@ vl_api_memclnt_delete_reply_t_handler (vl_api_memclnt_delete_reply_t * mp) void *oldheap; api_main_t *am = vlibapi_get_main (); - pthread_mutex_lock (&am->vlib_rp->mutex); - oldheap = svm_push_data_heap (am->vlib_rp); + oldheap = vl_msg_push_heap (); svm_queue_free (am->vl_input_queue); - pthread_mutex_unlock (&am->vlib_rp->mutex); - svm_pop_heap (oldheap); + vl_msg_pop_heap (oldheap); am->my_client_index = ~0; am->my_registration = 0; @@ -368,14 +362,14 @@ _(MEMCLNT_KEEPALIVE, memclnt_keepalive) void vl_client_install_client_message_handlers (void) { - -#define _(N,n) \ - vl_msg_api_set_handlers(VL_API_##N, #n, \ - vl_api_##n##_t_handler, \ - noop_handler, \ - vl_api_##n##_t_endian, \ - vl_api_##n##_t_print, \ - sizeof(vl_api_##n##_t), 1); + api_main_t *am = vlibapi_get_main (); +#define _(N, n) \ + vl_msg_api_set_handlers (VL_API_##N, #n, vl_api_##n##_t_handler, \ + noop_handler, vl_api_##n##_t_endian, \ + vl_api_##n##_t_print, sizeof (vl_api_##n##_t), 0, \ + vl_api_##n##_t_print_json, vl_api_##n##_t_tojson, \ + vl_api_##n##_t_fromjson); \ + am->api_trace_cfg[VL_API_##N].replay_enable = 0; foreach_api_msg; #undef _ } @@ -401,7 +395,7 @@ vl_client_api_unmap (void) u8 vl_mem_client_is_connected (void) { - return (memory_client_main.connected_to_vlib != 0); + return (my_memory_client_main->connected_to_vlib != 0); } static int @@ -434,7 +428,7 @@ connect_to_vlib_internal (const char *svm_name, if (thread_fn == rx_thread_fn) { rx_thread_fn_arg_t *arg; - arg = clib_mem_alloc (sizeof (*arg)); + arg = malloc (sizeof (*arg)); arg->am = vlibapi_get_main (); arg->mm = vlibapi_get_memory_client_main (); thread_fn_arg = (void *) arg;