aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/res_musiconhold.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 1599b26f6..ed2cdc1b0 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -1577,6 +1577,10 @@ static int load_moh_classes(int reload)
cfg = ast_config_load("musiconhold.conf", config_flags);
if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID) {
+ if (ast_check_realtime("musiconhold") && reload) {
+ ao2_t_callback(mohclasses, OBJ_NODATA, moh_class_mark, NULL, "Mark deleted classes");
+ ao2_t_callback(mohclasses, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, moh_classes_delete_marked, NULL, "Purge marked classes");
+ }
return 0;
}
@@ -1799,7 +1803,7 @@ static int load_module(void)
return AST_MODULE_LOAD_DECLINE;
}
- if (!load_moh_classes(0)) { /* No music classes configured, so skip it */
+ if (!load_moh_classes(0) && ast_check_realtime("musiconhold") == 0) { /* No music classes configured, so skip it */
ast_log(LOG_WARNING, "No music on hold classes configured, "
"disabling music on hold.\n");
} else {