X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemory_api.c;h=1da77c5b29bc8b0e63a8daf464ef6eb5cd0d2464;hb=refs%2Fchanges%2F57%2F13057%2F2;hp=0ee1384f22b9fbad314ae71248a4087a1b63d277;hpb=b384b543313b6b47a277c903e9d4fcd4343054fa;p=vpp.git diff --git a/src/vlibmemory/memory_api.c b/src/vlibmemory/memory_api.c index 0ee1384f22b..1da77c5b29b 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,20 @@ vl_mem_api_init (const char *region_name) return 0; } +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; +} + static void send_memclnt_keepalive (vl_api_registration_t * regp, f64 now) { @@ -899,8 +914,6 @@ vlibmemory_init (vlib_main_t * vm) return error; } -VLIB_INIT_FUNCTION (vlibmemory_init); - void vl_set_memory_region_name (const char *name) {