Incoming publications need to ensure that the module remains
loaded for the lifetime of them. This is now done by holding
a reference to the module while the publication exists. This
mirrors that of inbound subscriptions.
ASTERISK-27783
Change-Id: Ia98c95a15e11af25728d5fb3e56e12cda0cfc7c0
ao2_cleanup(publication->datastores);
ao2_cleanup(publication->endpoint);
+
+ ast_module_unref(ast_module_info->self);
}
static struct ast_sip_publication *sip_create_publication(struct ast_sip_endpoint *endpoint, pjsip_rx_data *rdata,
return NULL;
}
+ ast_module_ref(ast_module_info->self);
+
if (!(publication->datastores = ao2_container_alloc(DATASTORE_BUCKETS, datastore_hash, datastore_cmp))) {
ao2_ref(publication, -1);
return NULL;