stasis_publish(mailbox_specific_topic, clear_msg);
}
- stasis_topic_pool_delete_topic(mwi_topic_pool, mwi_state->uniqueid);
-
ao2_cleanup(clear_msg);
return 0;
}
AST_VECTOR_FREE(&topic->subscribers);
AST_VECTOR_FREE(&topic->upstream_topics);
+ ast_debug(1, "Topic '%s': %p destroyed\n", topic->name, topic);
#ifdef AST_DEVMODE
if (topic->statistics) {
strcpy(topic->name, name); /* SAFE */
res |= AST_VECTOR_INIT(&topic->subscribers, INITIAL_SUBSCRIBERS_MAX);
res |= AST_VECTOR_INIT(&topic->upstream_topics, 0);
+ ast_debug(1, "Topic '%s': %p created\n", topic->name, topic);
+
#ifdef AST_DEVMODE
topic->statistics = stasis_topic_statistics_create(topic);
if (!topic->name || !topic->statistics || res)
if (topic_add_subscription(topic, sub) != 0) {
ao2_ref(sub, -1);
+ ao2_ref(topic, -1);
return NULL;
}
/* Safe strcpy */
strcpy(mwi_stasis_sub->mailbox, mailbox);
- ast_debug(3, "Creating stasis MWI subscription to mailbox %s for endpoint %s\n",
- mailbox, mwi_sub->id);
+ ast_debug(3, "Creating stasis MWI subscription to mailbox %s for endpoint %s. Topic: '%s':%p %d\n",
+ mailbox, mwi_sub->id, stasis_topic_name(topic), topic, (int)ao2_ref(topic, 0));
ao2_ref(mwi_sub, +1);
mwi_stasis_sub->stasis_sub = stasis_subscribe_pool(topic, mwi_stasis_cb, mwi_sub);
+ ao2_ref(topic, -1);
+
if (!mwi_stasis_sub->stasis_sub) {
/* Failed to subscribe. */
ao2_ref(mwi_stasis_sub, -1);