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

@@ -2536,7 +2536,8 @@ int ast_config_text_file_save2(const char *configfile, const struct ast_config *
struct ao2_container *fileset;
struct inclfile *fi;
fileset = ao2_container_alloc(1023, hash_string, hashtab_compare_strings);
fileset = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, 1023,
hash_string, NULL, hashtab_compare_strings);
if (!fileset) {
/* Container creation failed. */
return -1;
@@ -4104,8 +4105,12 @@ int ast_config_hook_register(const char *name,
config_hook_cb hook_cb)
{
struct cfg_hook *hook;
if (!cfg_hooks && !(cfg_hooks = ao2_container_alloc(17, hook_hash, hook_cmp))) {
return -1;
if (!cfg_hooks) {
cfg_hooks = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, 17,
hook_hash, NULL, hook_cmp);
if (!cfg_hooks) {
return -1;
}
}
if (!(hook = ao2_alloc(sizeof(*hook), hook_destroy))) {