astobj2: Eliminate usage of legacy ao2_container_alloc routine.

Replace usage of ao2_container_alloc with ao2_container_alloc_hash or
ao2_container_alloc_list.

ao2_container_alloc is now restricted to modules only and is being
removed from Asterisk 17.

Change-Id: I0907d78bc66efc775672df37c8faad00f2f6c088
This commit is contained in:
Corey Farrell
2018-11-19 15:10:15 -05:00
parent 0e096aefac
commit ed7a5664b6
67 changed files with 321 additions and 219 deletions

View File

@@ -221,7 +221,8 @@ static int dialgroup_write(struct ast_channel *chan, const char *cmd, char *data
grhead = ao2_alloc(sizeof(*grhead), group_destroy);
if (!grhead)
return -1;
grhead->entries = ao2_container_alloc(37, entry_hash_fn, entry_cmp_fn);
grhead->entries = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, 37,
entry_hash_fn, NULL, entry_cmp_fn);
if (!grhead->entries) {
ao2_ref(grhead, -1);
return -1;
@@ -236,7 +237,9 @@ static int dialgroup_write(struct ast_channel *chan, const char *cmd, char *data
/* Remove all existing */
ao2_ref(grhead->entries, -1);
if (!(grhead->entries = ao2_container_alloc(37, entry_hash_fn, entry_cmp_fn))) {
grhead->entries = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, 37,
entry_hash_fn, NULL, entry_cmp_fn);
if (!grhead->entries) {
ao2_unlink(group_container, grhead);
ao2_ref(grhead, -1);
return -1;
@@ -297,7 +300,9 @@ static int load_module(void)
struct ast_db_entry *dbtree, *tmp;
char groupname[AST_MAX_EXTENSION], *ptr;
if ((group_container = ao2_container_alloc(37, group_hash_fn, group_cmp_fn))) {
group_container = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, 37,
group_hash_fn, NULL, group_cmp_fn);
if (group_container) {
/* Refresh groups from astdb */
if ((dbtree = ast_db_gettree("dialgroup", NULL))) {
for (tmp = dbtree; tmp; tmp = tmp->next) {