diff options
author | Corey Farrell <git@cfware.com> | 2017-11-01 20:46:11 -0400 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2017-11-01 20:46:11 -0400 |
commit | 79f111e1f317fffd3222b70c31a0fac65c40234e (patch) | |
tree | aa1f51880780200956e46e1be7757be30a423963 /res/res_monitor.c | |
parent | 64f1294ef2c799cda27ee83258fc5567a274bb34 (diff) |
Prevent unload of modules which implement an Optional API.
Once an Optional API module is loaded it should stay loaded. Unloading
an optional API module runs the risk of a crash if something else is
using it. This patch causes all optional API providers to tell the
module loader not to unload except at shutdown.
ASTERISK-27389
Change-Id: Ia07786fe655681aec49cc8d3d96e06483b11f5e6
Diffstat (limited to 'res/res_monitor.c')
-rw-r--r-- | res/res_monitor.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/res/res_monitor.c b/res/res_monitor.c index 3e3611b36..aed5a26b9 100644 --- a/res/res_monitor.c +++ b/res/res_monitor.c @@ -984,6 +984,9 @@ static int load_module(void) ast_manager_register_xml("PauseMonitor", EVENT_FLAG_CALL, pause_monitor_action); ast_manager_register_xml("UnpauseMonitor", EVENT_FLAG_CALL, unpause_monitor_action); + /* For Optional API. */ + ast_module_shutdown_ref(AST_MODULE_SELF); + return AST_MODULE_LOAD_SUCCESS; } |