X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemory_api.c;h=4d31b35f13272f712c6b842275d0038c961dd8b5;hb=048a4e5a000017d0d632ebf02dcc23d9bf9ccf72;hp=0ee1384f22b9fbad314ae71248a4087a1b63d277;hpb=b384b543313b6b47a277c903e9d4fcd4343054fa;p=vpp.git diff --git a/src/vlibmemory/memory_api.c b/src/vlibmemory/memory_api.c index 0ee1384f22b..4d31b35f132 100644 --- a/src/vlibmemory/memory_api.c +++ b/src/vlibmemory/memory_api.c @@ -339,6 +339,7 @@ vl_api_memclnt_delete_t_handler (vl_api_memclnt_delete_t * mp) regp->vl_api_registration_pool_index); pthread_mutex_lock (&svm->mutex); oldheap = svm_push_data_heap (svm); + vec_free (regp->name); /* Poison the old registration */ memset (regp, 0xF1, sizeof (*regp)); clib_mem_free (regp); @@ -458,6 +459,22 @@ vl_mem_api_init (const char *region_name) return 0; } +static clib_error_t * +map_api_segment_init (vlib_main_t * vm) +{ + api_main_t *am = &api_main; + int rv; + + if ((rv = vl_mem_api_init (am->region_name)) < 0) + { + return clib_error_return (0, "vl_mem_api_init (%s) failed", + am->region_name); + } + return 0; +} + +VLIB_INIT_FUNCTION (map_api_segment_init); + static void send_memclnt_keepalive (vl_api_registration_t * regp, f64 now) {