mgcp-client: Create alloc() and free() internal APIs for mgcp_client_pool_member
Related: SYS#5987
Change-Id: Ibd2bf976885c777fe944652af6fe6eb0f1820468
diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c
index 748042f..505f3ab 100644
--- a/src/libosmo-mgcp-client/mgcp_client_vty.c
+++ b/src/libosmo-mgcp-client/mgcp_client_vty.c
@@ -345,11 +345,8 @@
pool_member = mgcp_client_pool_find_member_by_nr(global_mgcp_client_pool, nr);
if (!pool_member) {
- pool_member = talloc_zero(global_mgcp_client_pool, struct mgcp_client_pool_member);
+ pool_member = mgcp_client_pool_member_alloc(global_mgcp_client_pool, nr);
OSMO_ASSERT(pool_member);
- mgcp_client_conf_init(&pool_member->conf);
- pool_member->nr = nr;
- llist_add_tail(&pool_member->list, &global_mgcp_client_pool->member_list);
}
vty->index = &pool_member->conf;
@@ -379,12 +376,7 @@
return CMD_WARNING;
}
- llist_del(&pool_member->list);
- if (pool_member->client) {
- mgcp_client_disconnect(pool_member->client);
- talloc_free(pool_member->client);
- }
- talloc_free(pool_member);
+ mgcp_client_pool_member_free(pool_member);
return CMD_SUCCESS;
}