diff options
author | Sean Bright <sean.bright@gmail.com> | 2016-01-13 08:20:24 -0500 |
---|---|---|
committer | Sean Bright <sean.bright@gmail.com> | 2016-01-13 07:50:29 -0600 |
commit | 79a7321a4762fc461e735f9c11b3b9799d1adb2e (patch) | |
tree | 0b2c977ce0ca69e3cdc59ebf2a3263c65914467b | |
parent | 9a13df1b3c2c924dc4016a14eeadc254e5a7504b (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.c | 3 |
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; } |