diff --git a/apps/app_agent_pool.c b/apps/app_agent_pool.c index cb5e0ce179744ebaad31e5f63471b2a356b34411..54a0a4a50460be4120b05b723a4de5f9188762af 100644 --- a/apps/app_agent_pool.c +++ b/apps/app_agent_pool.c @@ -1353,7 +1353,7 @@ static void bridge_agent_hold_pull(struct ast_bridge *self, struct ast_bridge_ch */ static void bridge_agent_hold_dissolving(struct ast_bridge *self) { - ao2_global_obj_replace_unref(agent_holding, NULL); + ao2_global_obj_release(agent_holding); ast_bridge_base_v_table.dissolving(self); } diff --git a/include/asterisk/astobj2.h b/include/asterisk/astobj2.h index 933092fe60486676c00cc0d18ec45b458b0d72a6..073197d47bd8f6c0513842075f13eb5a0f96a1fe 100644 --- a/include/asterisk/astobj2.h +++ b/include/asterisk/astobj2.h @@ -469,8 +469,8 @@ enum ao2_alloc_opts { #endif void *__ao2_alloc_debug(size_t data_size, ao2_destructor_fn destructor_fn, unsigned int options, const char *tag, - const char *file, int line, const char *func, int ref_debug); -void *__ao2_alloc(size_t data_size, ao2_destructor_fn destructor_fn, unsigned int options); + const char *file, int line, const char *func, int ref_debug) attribute_warn_unused_result; +void *__ao2_alloc(size_t data_size, ao2_destructor_fn destructor_fn, unsigned int options) attribute_warn_unused_result; /*! @} */ @@ -699,7 +699,7 @@ void __ao2_global_obj_release(struct ao2_global_obj *holder, const char *tag, co __ao2_global_obj_replace(&holder, (obj), NULL, __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) #endif -void *__ao2_global_obj_replace(struct ao2_global_obj *holder, void *obj, const char *tag, const char *file, int line, const char *func, const char *name); +void *__ao2_global_obj_replace(struct ao2_global_obj *holder, void *obj, const char *tag, const char *file, int line, const char *func, const char *name) attribute_warn_unused_result; /*! * \brief Replace an ao2 object in the global holder, throwing away any old object. @@ -757,7 +757,7 @@ int __ao2_global_obj_replace_unref(struct ao2_global_obj *holder, void *obj, con __ao2_global_obj_ref(&holder, NULL, __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) #endif -void *__ao2_global_obj_ref(struct ao2_global_obj *holder, const char *tag, const char *file, int line, const char *func, const char *name); +void *__ao2_global_obj_ref(struct ao2_global_obj *holder, const char *tag, const char *file, int line, const char *func, const char *name) attribute_warn_unused_result; /*! @@ -1227,11 +1227,11 @@ struct ao2_container; struct ao2_container *__ao2_container_alloc_hash(unsigned int ao2_options, unsigned int container_options, unsigned int n_buckets, ao2_hash_fn *hash_fn, - ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn); + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn) attribute_warn_unused_result; struct ao2_container *__ao2_container_alloc_hash_debug(unsigned int ao2_options, unsigned int container_options, unsigned int n_buckets, ao2_hash_fn *hash_fn, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, - const char *tag, const char *file, int line, const char *func, int ref_debug); + const char *tag, const char *file, int line, const char *func, int ref_debug) attribute_warn_unused_result; /*! * \brief Allocate and initialize a list container. @@ -1272,10 +1272,10 @@ struct ao2_container *__ao2_container_alloc_hash_debug(unsigned int ao2_options, #endif struct ao2_container *__ao2_container_alloc_list(unsigned int ao2_options, - unsigned int container_options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn); + unsigned int container_options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn) attribute_warn_unused_result; struct ao2_container *__ao2_container_alloc_list_debug(unsigned int ao2_options, unsigned int container_options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, - const char *tag, const char *file, int line, const char *func, int ref_debug); + const char *tag, const char *file, int line, const char *func, int ref_debug) attribute_warn_unused_result; /*! * \brief Allocate and initialize a red-black tree container. @@ -1315,10 +1315,10 @@ struct ao2_container *__ao2_container_alloc_list_debug(unsigned int ao2_options, #endif struct ao2_container *__ao2_container_alloc_rbtree(unsigned int ao2_options, unsigned int container_options, - ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn); + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn) attribute_warn_unused_result; struct ao2_container *__ao2_container_alloc_rbtree_debug(unsigned int ao2_options, unsigned int container_options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, - const char *tag, const char *file, int line, const char *func, int ref_debug); + const char *tag, const char *file, int line, const char *func, int ref_debug) attribute_warn_unused_result; /*! \brief * Returns the number of elements in a container. @@ -1358,8 +1358,8 @@ int ao2_container_dup(struct ao2_container *dest, struct ao2_container *src, enu * \retval Clone container on success. * \retval NULL on error. */ -struct ao2_container *__ao2_container_clone(struct ao2_container *orig, enum search_flags flags); -struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, enum search_flags flags, const char *tag, const char *file, int line, const char *func, int ref_debug); +struct ao2_container *__ao2_container_clone(struct ao2_container *orig, enum search_flags flags) attribute_warn_unused_result; +struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, enum search_flags flags, const char *tag, const char *file, int line, const char *func, int ref_debug) attribute_warn_unused_result; #if defined(REF_DEBUG) #define ao2_t_container_clone(orig, flags, tag) __ao2_container_clone_debug(orig, flags, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__, 1) @@ -1895,7 +1895,7 @@ enum ao2_iterator_flags { * * This function will take a reference on the container being iterated. */ -struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags); +struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags) attribute_warn_unused_result; /*! * \brief Destroy a container iterator @@ -1925,8 +1925,8 @@ void ao2_iterator_destroy(struct ao2_iterator *iter); #endif -void *__ao2_iterator_next_debug(struct ao2_iterator *iter, const char *tag, const char *file, int line, const char *func); -void *__ao2_iterator_next(struct ao2_iterator *iter); +void *__ao2_iterator_next_debug(struct ao2_iterator *iter, const char *tag, const char *file, int line, const char *func) attribute_warn_unused_result; +void *__ao2_iterator_next(struct ao2_iterator *iter) attribute_warn_unused_result; /*! * \brief Restart an iteration. diff --git a/main/cdr.c b/main/cdr.c index 967dfaad4cf30257c44b36be94bdb9f62d5c463a..96689996961b4b1b08f4d3a20386e1fc4f7cb74c 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -3949,7 +3949,7 @@ static int process_config(int reload) */ if (!reload && !(aco_set_defaults(&general_option, "general", mod_cfg->general))) { ast_log(LOG_NOTICE, "Failed to process CDR configuration; using defaults\n"); - ao2_global_obj_replace(module_configs, mod_cfg); + ao2_global_obj_replace_unref(module_configs, mod_cfg); return 0; } return 1; diff --git a/main/cel.c b/main/cel.c index 6d63bf5f858ccc667ad23b45fc5918ba2b776ac8..f4296f0dd27b629787f26b309e060530ac0e3d35 100644 --- a/main/cel.c +++ b/main/cel.c @@ -1503,7 +1503,7 @@ int ast_cel_engine_init(void) */ if (!aco_set_defaults(&general_option, "general", cel_cfg->general)) { ast_log(LOG_NOTICE, "Failed to process CEL configuration; using defaults\n"); - ao2_global_obj_replace(cel_configs, cel_cfg); + ao2_global_obj_replace_unref(cel_configs, cel_cfg); } } diff --git a/main/features_config.c b/main/features_config.c index 64bb2abd5c5bff715f59f34b48bf5ef1197413be..68b7dde08823d4c7f11666c5f2752105ac008396 100644 --- a/main/features_config.c +++ b/main/features_config.c @@ -1748,7 +1748,7 @@ static int load_config(void) } ast_log(LOG_NOTICE, "Could not load features config; using defaults\n"); - ao2_global_obj_replace(globals, features_cfg); + ao2_global_obj_replace_unref(globals, features_cfg); } return 0; diff --git a/main/parking.c b/main/parking.c index 9a92e6e15ac94c0884a26d58ee82d2f279f5b5f4..f4ed27d618412deca858c3c09aa22586f8358fd7 100644 --- a/main/parking.c +++ b/main/parking.c @@ -216,7 +216,7 @@ int ast_parking_register_bridge_features(struct ast_parking_bridge_feature_fn_ta } *wrapper = *fn_table; - ao2_global_obj_replace(parking_provider, wrapper); + ao2_global_obj_replace_unref(parking_provider, wrapper); return 0; } @@ -234,7 +234,7 @@ int ast_parking_unregister_bridge_features(const char *module_name) return -1; } - ao2_global_obj_replace_unref(parking_provider, NULL); + ao2_global_obj_release(parking_provider); return 0; } diff --git a/main/stasis_config.c b/main/stasis_config.c index 349d4158388976fef36b5870729be1a3fea7cc50..006df51dd8faf2dec73e709344be2cd1966dbd0f 100644 --- a/main/stasis_config.c +++ b/main/stasis_config.c @@ -157,7 +157,7 @@ static int process_config(int reload) if (conf && !reload && !aco_set_defaults(&threadpool_option, "threadpool", conf->threadpool)) { ast_log(AST_LOG_NOTICE, "Failed to process Stasis configuration; using defaults\n"); - ao2_global_obj_replace(confs, conf); + ao2_global_obj_replace_unref(confs, conf); return 0; } return -1; diff --git a/main/udptl.c b/main/udptl.c index 25a4cc02c688ac2ceb937c4cc5a4e26e338d6e3a..fa9171742a4d4a4c606807d9ad61c68e1e3e7b5f 100644 --- a/main/udptl.c +++ b/main/udptl.c @@ -1468,7 +1468,7 @@ static void __ast_udptl_reload(int reload) } ast_log(LOG_NOTICE, "Could not load udptl config; using defaults\n"); - ao2_global_obj_replace(globals, udptl_cfg); + ao2_global_obj_replace_unref(globals, udptl_cfg); } } }