Merge "sounds_index: Avoid repeatedly reindexing."

pull/9/head
George Joseph 8 years ago committed by Gerrit Code Review
commit d7f3f8c283

@ -4617,9 +4617,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");
/*
* This has to load after the dynamic modules load, as items in the media
* cache can't be constructed from items in the AstDB without their

@ -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