X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fsocket_api.c;fp=src%2Fvlibmemory%2Fsocket_api.c;h=566305ff7fc142b54e9d303bbfff7f4952a3670f;hb=38ca6e62d725ab81d304fb1af4ec8aae2fd78ba6;hp=6238746525af005ee72dfbd222837868f5edade0;hpb=2e64b5a934a6e014c161e6f73aa461db1e4c7449;p=vpp.git diff --git a/src/vlibmemory/socket_api.c b/src/vlibmemory/socket_api.c index 6238746525a..566305ff7fc 100644 --- a/src/vlibmemory/socket_api.c +++ b/src/vlibmemory/socket_api.c @@ -170,6 +170,8 @@ vl_socket_free_registration_index (u32 pool_index) { int i; vl_api_registration_t *rp; + void vl_api_call_reaper_functions (u32 client_index); + if (pool_is_free_index (socket_main.registration_pool, pool_index)) { clib_warning ("main pool index %d already free", pool_index); @@ -177,6 +179,8 @@ vl_socket_free_registration_index (u32 pool_index) } rp = pool_elt_at_index (socket_main.registration_pool, pool_index); + vl_api_call_reaper_functions (pool_index); + ASSERT (rp->registration_type != REGISTRATION_TYPE_FREE); for (i = 0; i < vec_len (rp->additional_fds_to_close); i++) if (close (rp->additional_fds_to_close[i]) < 0)