Merge "sounds_index: Avoid repeatedly reindexing." into 13

changes/75/7475/1
Jenkins2 9 years ago committed by Gerrit Code Review
commit 9bf73ae1b3

@ -4701,9 +4701,14 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
check_init(init_manager(), "Asterisk Manager Interface");
check_init(ast_enum_init(), "ENUM Support");
check_init(ast_cc_init(), "Call Completion Supplementary Services");
check_init(ast_sounds_index_init(), "Sounds Indexer");
check_init(load_modules(0), "Module");
/*
* This is initialized after the dynamic modules load to avoid repeatedly
* reindexing sounds for every format module load.
*/
check_init(ast_sounds_index_init(), "Sounds Indexer");
/* loads the cli_permissoins.conf file needed to implement cli restrictions. */
ast_cli_perms_init(0);

@ -285,13 +285,15 @@ static void sounds_cleanup(void)
static void format_update_cb(void *data, struct stasis_subscription *sub,
struct stasis_message *message)
{
ast_sounds_reindex();
/* Reindexing during shutdown is pointless. */
if (!ast_shutting_down()) {
ast_sounds_reindex();
}
}
int ast_sounds_index_init(void)
{
int res = 0;
sounds_index = NULL;
if (ast_sounds_reindex()) {
return -1;
}
@ -328,6 +330,5 @@ int ast_sounds_index_init(void)
struct ast_media_index *ast_sounds_get_index(void)
{
ao2_ref(sounds_index, +1);
return sounds_index;
return ao2_bump(sounds_index);
}

Loading…
Cancel
Save