summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2016-01-13 08:20:24 -0500
committerSean Bright <sean.bright@gmail.com>2016-01-13 07:50:29 -0600
commit79a7321a4762fc461e735f9c11b3b9799d1adb2e (patch)
tree0b2c977ce0ca69e3cdc59ebf2a3263c65914467b
parent9a13df1b3c2c924dc4016a14eeadc254e5a7504b (diff)
res_musiconhold: Prevent multiple simultaneous reloads.
There are two ways in which the reload() function in res_musiconhold can be called from the CLI: * module reload res_musiconhold.so * moh reload In the former case, the module loader holds a lock that prevents multiple concurrent calls, but in the latter there is no such protection. This patch changes the 'moh reload' CLI command to invoke the module loader directly, rather than call reload() explicitly. ASTERISK-25687 #close Change-Id: I408968b4c8932864411b7f9ad88cfdc7b9ba711c
-rw-r--r--res/res_musiconhold.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index bf7635ea2..4e5056358 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -1808,7 +1808,8 @@ static char *handle_cli_moh_reload(struct ast_cli_entry *e, int cmd, struct ast_
if (a->argc != e->args)
return CLI_SHOWUSAGE;
- reload();
+ /* The module loader will prevent concurrent reloads from occurring, so we delegate */
+ ast_module_reload("res_musiconhold");
return CLI_SUCCESS;
}