diff --git a/include/asterisk/astobj2.h b/include/asterisk/astobj2.h index 28ae73e87edf4eed9531f50856a431cc17b093df..484e1e35caa4c5bb64e8e3df8d9271ab3818e5f7 100644 --- a/include/asterisk/astobj2.h +++ b/include/asterisk/astobj2.h @@ -854,11 +854,9 @@ struct ao2_global_obj { * \return Nothing */ #define ao2_t_global_obj_release(holder, tag) \ - __ao2_global_obj_release(&holder, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) + __ao2_global_obj_replace_unref(&holder, NULL, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) #define ao2_global_obj_release(holder) \ - __ao2_global_obj_release(&holder, "", __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) - -void __ao2_global_obj_release(struct ao2_global_obj *holder, const char *tag, const char *file, int line, const char *func, const char *name); + __ao2_global_obj_replace_unref(&holder, NULL, "", __FILE__, __LINE__, __PRETTY_FUNCTION__, #holder) /*! * \brief Replace an ao2 object in the global holder. diff --git a/main/astobj2.c b/main/astobj2.c index 1529e91b000c8cd89e757f303d47a08cf1ba674d..d534900ddfeaa8b941ef55275e6a6228c550f134 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -729,30 +729,6 @@ unsigned int ao2_options_get(void *obj) return orig_obj->priv_data.options; } - -void __ao2_global_obj_release(struct ao2_global_obj *holder, const char *tag, const char *file, int line, const char *func, const char *name) -{ - if (!holder) { - /* For sanity */ - ast_log(LOG_ERROR, "Must be called with a global object!\n"); - ast_assert(0); - return; - } - if (__ast_rwlock_wrlock(file, line, func, &holder->lock, name)) { - /* Could not get the write lock. */ - ast_assert(0); - return; - } - - /* Release the held ao2 object. */ - if (holder->obj) { - __ao2_ref(holder->obj, -1, tag, file, line, func); - holder->obj = NULL; - } - - __ast_rwlock_unlock(file, line, func, &holder->lock, 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) { void *obj_old;