diff options
author | Joshua Colp <jcolp@digium.com> | 2016-08-16 08:24:19 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-08-16 08:24:19 -0500 |
commit | 515a598b62c7e820aec2e3d3eac4726d7648f153 (patch) | |
tree | 1dd4c34abd06922b214b5f5a912151061625030c | |
parent | 4c9868624ee5186624510a9f9b7d8248e3e77083 (diff) | |
parent | 45e143576f02f72edefd94d74d6d21aa1d433f1c (diff) |
Merge "sorcery.c: Tweak some container declaration formatting."
-rw-r--r-- | main/sorcery.c | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/main/sorcery.c b/main/sorcery.c index a739f5eb8..1fb1b3c25 100644 --- a/main/sorcery.c +++ b/main/sorcery.c @@ -508,13 +508,15 @@ int ast_sorcery_init(void) }; ast_assert(wizards == NULL); - if (!(threadpool = ast_threadpool_create("Sorcery", NULL, &options))) { - threadpool = NULL; + threadpool = ast_threadpool_create("Sorcery", NULL, &options); + if (!threadpool) { return -1; } - if (!(wizards = ao2_container_alloc(WIZARD_BUCKETS, sorcery_wizard_hash, sorcery_wizard_cmp))) { - ast_threadpool_shutdown(threadpool); + wizards = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, WIZARD_BUCKETS, + sorcery_wizard_hash, NULL, sorcery_wizard_cmp); + if (!wizards) { + sorcery_cleanup(); return -1; } @@ -524,8 +526,8 @@ int ast_sorcery_init(void) return -1; } - instances = ao2_container_alloc_options(AO2_ALLOC_OPT_LOCK_RWLOCK, INSTANCE_BUCKETS, - sorcery_instance_hash, sorcery_instance_cmp); + instances = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_RWLOCK, 0, INSTANCE_BUCKETS, + sorcery_instance_hash, NULL, sorcery_instance_cmp); if (!instances) { sorcery_cleanup(); return -1; @@ -842,23 +844,30 @@ static struct ast_sorcery_object_type *sorcery_object_type_alloc(const char *typ return NULL; } - if (!(object_type->fields = ao2_container_alloc_options(AO2_ALLOC_OPT_LOCK_NOLOCK, OBJECT_FIELD_BUCKETS, - object_type_field_hash, object_type_field_cmp))) { + object_type->fields = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_NOLOCK, 0, + OBJECT_FIELD_BUCKETS, object_type_field_hash, NULL, object_type_field_cmp); + if (!object_type->fields) { ao2_ref(object_type, -1); return NULL; } - if (!(object_type->observers = ao2_container_alloc_options(AO2_ALLOC_OPT_LOCK_RWLOCK, 1, NULL, NULL))) { + object_type->observers = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_RWLOCK, 0, + NULL, NULL); + if (!object_type->observers) { ao2_ref(object_type, -1); return NULL; } - if (!(object_type->info = ast_calloc(1, sizeof(*object_type->info) + 2 * sizeof(object_type->info->files[0])))) { + object_type->info = ast_calloc(1, + sizeof(*object_type->info) + 2 * sizeof(object_type->info->files[0])); + if (!object_type->info) { ao2_ref(object_type, -1); return NULL; } - if (!(object_type->file = ast_calloc(1, sizeof(*object_type->file) + 2 * sizeof(object_type->file->types[0])))) { + object_type->file = ast_calloc(1, + sizeof(*object_type->file) + 2 * sizeof(object_type->file->types[0])); + if (!object_type->file) { ao2_ref(object_type, -1); return NULL; } |