mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
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:
@@ -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) {
|
||||
|
@@ -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(¤t->mutex);
|
||||
ast_cond_destroy(¤t->cond);
|
||||
ast_free(current);
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user