|
|
|
@ -410,6 +410,12 @@ static struct {
|
|
|
|
|
unsigned int need_quit_handler:1;
|
|
|
|
|
} sig_flags;
|
|
|
|
|
|
|
|
|
|
/*! \brief The \ref stasis topic for system level changes */
|
|
|
|
|
static struct stasis_topic *system_topic;
|
|
|
|
|
|
|
|
|
|
/*!\ brief The \ref stasis_message_type for network changes */
|
|
|
|
|
static struct stasis_message_type *network_change_type;
|
|
|
|
|
|
|
|
|
|
#if !defined(LOW_MEMORY)
|
|
|
|
|
struct file_version {
|
|
|
|
|
AST_RWLIST_ENTRY(file_version) list;
|
|
|
|
@ -417,12 +423,6 @@ struct file_version {
|
|
|
|
|
char *version;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*! \brief The \ref stasis topic for system level changes */
|
|
|
|
|
static struct stasis_topic *system_topic;
|
|
|
|
|
|
|
|
|
|
/*!\ brief The \ref stasis_message_type for network changes */
|
|
|
|
|
static struct stasis_message_type *network_change_type;
|
|
|
|
|
|
|
|
|
|
static AST_RWLIST_HEAD_STATIC(file_versions, file_version);
|
|
|
|
|
|
|
|
|
|
void ast_register_file_version(const char *file, const char *version)
|
|
|
|
@ -542,42 +542,6 @@ void ast_unregister_thread(void *id)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct stasis_topic *ast_system_topic(void)
|
|
|
|
|
{
|
|
|
|
|
return system_topic;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct stasis_message_type *ast_network_change_type(void)
|
|
|
|
|
{
|
|
|
|
|
return network_change_type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Cleanup the \ref stasis system level items */
|
|
|
|
|
static void stasis_system_topic_cleanup(void)
|
|
|
|
|
{
|
|
|
|
|
ao2_ref(system_topic, -1);
|
|
|
|
|
system_topic = NULL;
|
|
|
|
|
ao2_ref(network_change_type, -1);
|
|
|
|
|
network_change_type = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Initialize the system level items for \ref stasis */
|
|
|
|
|
static int stasis_system_topic_init(void)
|
|
|
|
|
{
|
|
|
|
|
ast_register_atexit(stasis_system_topic_cleanup);
|
|
|
|
|
|
|
|
|
|
system_topic = stasis_topic_create("ast_system");
|
|
|
|
|
if (!system_topic) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
network_change_type = stasis_message_type_create("network_change");
|
|
|
|
|
if (!network_change_type) {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Give an overview of core settings */
|
|
|
|
|
static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
|
|
|
|
{
|
|
|
|
@ -1093,6 +1057,42 @@ static char *handle_show_version_files(struct ast_cli_entry *e, int cmd, struct
|
|
|
|
|
|
|
|
|
|
#endif /* ! LOW_MEMORY */
|
|
|
|
|
|
|
|
|
|
struct stasis_topic *ast_system_topic(void)
|
|
|
|
|
{
|
|
|
|
|
return system_topic;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct stasis_message_type *ast_network_change_type(void)
|
|
|
|
|
{
|
|
|
|
|
return network_change_type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Cleanup the \ref stasis system level items */
|
|
|
|
|
static void stasis_system_topic_cleanup(void)
|
|
|
|
|
{
|
|
|
|
|
ao2_ref(system_topic, -1);
|
|
|
|
|
system_topic = NULL;
|
|
|
|
|
ao2_ref(network_change_type, -1);
|
|
|
|
|
network_change_type = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Initialize the system level items for \ref stasis */
|
|
|
|
|
static int stasis_system_topic_init(void)
|
|
|
|
|
{
|
|
|
|
|
ast_register_atexit(stasis_system_topic_cleanup);
|
|
|
|
|
|
|
|
|
|
system_topic = stasis_topic_create("ast_system");
|
|
|
|
|
if (!system_topic) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
network_change_type = stasis_message_type_create("network_change");
|
|
|
|
|
if (!network_change_type) {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void ast_run_atexits(void)
|
|
|
|
|
{
|
|
|
|
|
struct ast_atexit *ae;
|
|
|
|
|