stasis: use ao2_t_alloc for certain object allocators

Add tags to stasis objects using the name.  This makes it
easier to track the source of certain stasis ref leaks.

Review: https://reviewboard.asterisk.org/r/3821/
........

Merged revisions 418996 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/97/197/1
Corey Farrell 11 years ago
parent 88d8473746
commit fd7814ddb5

@ -204,7 +204,7 @@ struct stasis_topic *stasis_topic_create(const char *name)
struct stasis_topic *topic; struct stasis_topic *topic;
int res = 0; int res = 0;
topic = ao2_alloc(sizeof(*topic), topic_dtor); topic = ao2_t_alloc(sizeof(*topic), topic_dtor, name);
if (!topic) { if (!topic) {
return NULL; return NULL;
} }
@ -311,7 +311,7 @@ struct stasis_subscription *internal_stasis_subscribe(
} }
/* The ao2 lock is used for join_cond. */ /* The ao2 lock is used for join_cond. */
sub = ao2_alloc(sizeof(*sub), subscription_dtor); sub = ao2_t_alloc(sizeof(*sub), subscription_dtor, topic->name);
if (!sub) { if (!sub) {
return NULL; return NULL;
} }

@ -70,7 +70,7 @@ struct stasis_cp_all *stasis_cp_all_create(const char *name,
RAII_VAR(char *, cached_name, NULL, ast_free); RAII_VAR(char *, cached_name, NULL, ast_free);
RAII_VAR(struct stasis_cp_all *, all, NULL, ao2_cleanup); RAII_VAR(struct stasis_cp_all *, all, NULL, ao2_cleanup);
all = ao2_alloc(sizeof(*all), all_dtor); all = ao2_t_alloc(sizeof(*all), all_dtor, name);
if (!all) { if (!all) {
return NULL; return NULL;
} }
@ -138,7 +138,7 @@ struct stasis_cp_single *stasis_cp_single_create(struct stasis_cp_all *all,
{ {
RAII_VAR(struct stasis_cp_single *, one, NULL, ao2_cleanup); RAII_VAR(struct stasis_cp_single *, one, NULL, ao2_cleanup);
one = ao2_alloc(sizeof(*one), one_dtor); one = ao2_t_alloc(sizeof(*one), one_dtor, name);
if (!one) { if (!one) {
return NULL; return NULL;
} }

@ -55,7 +55,7 @@ struct stasis_message_type *stasis_message_type_create(const char *name,
{ {
struct stasis_message_type *type; struct stasis_message_type *type;
type = ao2_alloc(sizeof(*type), message_type_dtor); type = ao2_t_alloc(sizeof(*type), message_type_dtor, name);
if (!type) { if (!type) {
return NULL; return NULL;
} }
@ -108,7 +108,7 @@ struct stasis_message *stasis_message_create_full(struct stasis_message_type *ty
return NULL; return NULL;
} }
message = ao2_alloc(sizeof(*message), stasis_message_dtor); message = ao2_t_alloc(sizeof(*message), stasis_message_dtor, type->name);
if (message == NULL) { if (message == NULL) {
return NULL; return NULL;
} }

@ -212,7 +212,7 @@ struct stasis_message_router *stasis_message_router_create(
int res; int res;
RAII_VAR(struct stasis_message_router *, router, NULL, ao2_cleanup); RAII_VAR(struct stasis_message_router *, router, NULL, ao2_cleanup);
router = ao2_alloc(sizeof(*router), router_dtor); router = ao2_t_alloc(sizeof(*router), router_dtor, topic->name);
if (!router) { if (!router) {
return NULL; return NULL;
} }

Loading…
Cancel
Save