diff options
author | zuul <zuul@gerrit.asterisk.org> | 2016-08-16 09:06:51 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-08-16 09:06:51 -0500 |
commit | 7ed9bc8169676e6da27b035dc53e556d5ee6f2b4 (patch) | |
tree | 7af957a158a75348b845b339e622953cff129d94 /main | |
parent | 643aac69a7bef3d3de89760ef1121e6b23b46e12 (diff) | |
parent | 29beb2890c56efa3a1a10c811081c191bc41961b (diff) |
Merge "sorcery.c: Tweak some container declaration formatting." into 13
Diffstat (limited to 'main')
-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 bfc768879..737474eea 100644 --- a/main/sorcery.c +++ b/main/sorcery.c @@ -505,13 +505,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; } @@ -521,8 +523,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; @@ -839,23 +841,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; } |