diff options
-rw-r--r-- | res/res_musiconhold.c | 6 |
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 { |