astobj2: Remove legacy ao2_container_alloc routine.

Replace usage of ao2_container_alloc with ao2_container_alloc_hash or
ao2_container_alloc_list.  Remove ao2_container_alloc macro.

Change-Id: I0907d78bc66efc775672df37c8faad00f2f6c088
This commit is contained in:
Corey Farrell
2018-11-19 15:10:02 -05:00
parent b7af9c8b19
commit 021ce938ca
67 changed files with 315 additions and 233 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) {

View File

@@ -215,12 +215,6 @@ static void *lock_broker(void *unused)
return NULL;
}
static int ast_channel_hash_cb(const void *obj, const int flags)
{
const struct ast_channel *chan = obj;
return ast_str_case_hash(ast_channel_name(chan));
}
static int ast_channel_cmp_cb(void *obj, void *arg, int flags)
{
struct ast_channel *chan = obj, *cmp_args = arg;
@@ -296,7 +290,9 @@ static int get_lock(struct ast_channel *chan, char *lockname, int trylock)
AST_LIST_UNLOCK(&locklist);
return -1;
}
if (!(current->requesters = ao2_container_alloc(1, ast_channel_hash_cb, ast_channel_cmp_cb))) {
current->requesters = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_MUTEX, 0,
NULL, ast_channel_cmp_cb);
if (!current->requesters) {
ast_mutex_destroy(&current->mutex);
ast_cond_destroy(&current->cond);
ast_free(current);

View File

@@ -1793,7 +1793,8 @@ static int load_module(void)
dsns = NULL;
if (single_db_connection) {
dsns = ao2_container_alloc(DSN_BUCKETS, dsn_hash, dsn_cmp);
dsns = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, DSN_BUCKETS,
dsn_hash, NULL, dsn_cmp);
if (!dsns) {
ast_log(LOG_ERROR, "Could not initialize DSN container\n");
ast_rwlock_unlock(&single_db_connection_lock);
@@ -1891,7 +1892,8 @@ static int reload(void)
}
if (single_db_connection) {
dsns = ao2_container_alloc(DSN_BUCKETS, dsn_hash, dsn_cmp);
dsns = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, DSN_BUCKETS,
dsn_hash, NULL, dsn_cmp);
if (!dsns) {
ast_log(LOG_ERROR, "Could not initialize DSN container\n");
ast_rwlock_unlock(&single_db_connection_lock);