diff options
Diffstat (limited to 'main/named_acl.c')
-rw-r--r-- | main/named_acl.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/main/named_acl.c b/main/named_acl.c index 7bc859769..afcd0692f 100644 --- a/main/named_acl.c +++ b/main/named_acl.c @@ -360,7 +360,14 @@ struct ast_ha *ast_named_acl_find(const char *name, int *is_realtime, int *is_un static struct stasis_topic *acl_topic; /*! \brief Message type for named ACL changes */ -static struct stasis_message_type *named_acl_change_type; +STASIS_MESSAGE_TYPE_DEFN(ast_named_acl_change_type); + +static void acl_stasis_shutdown(void) +{ + ao2_cleanup(acl_topic); + acl_topic = NULL; + STASIS_MESSAGE_TYPE_CLEANUP(ast_named_acl_change_type); +} /*! * \internal @@ -368,8 +375,9 @@ static struct stasis_message_type *named_acl_change_type; */ static void ast_acl_stasis_init(void) { + ast_register_atexit(acl_stasis_shutdown); acl_topic = stasis_topic_create("ast_acl"); - named_acl_change_type = stasis_message_type_create("ast_named_acl_change"); + STASIS_MESSAGE_TYPE_INIT(ast_named_acl_change_type); } struct stasis_topic *ast_acl_topic(void) @@ -377,11 +385,6 @@ struct stasis_topic *ast_acl_topic(void) return acl_topic; } -struct stasis_message_type *ast_named_acl_change_type(void) -{ - return named_acl_change_type; -} - /*! * \internal * \brief Sends a stasis message corresponding to a given named ACL that has changed or |