diff options
Diffstat (limited to 'res/res_ari_asterisk.c')
-rw-r--r-- | res/res_ari_asterisk.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/res/res_ari_asterisk.c b/res/res_ari_asterisk.c index b1680e300..1a574aaaf 100644 --- a/res/res_ari_asterisk.c +++ b/res/res_ari_asterisk.c @@ -1213,19 +1213,24 @@ static struct stasis_rest_handlers asterisk = { .children = { &asterisk_config,&asterisk_info,&asterisk_modules,&asterisk_logging,&asterisk_variable, } }; +static int unload_module(void) +{ + ast_ari_remove_handler(&asterisk); + stasis_app_unref(); + return 0; +} + static int load_module(void) { int res = 0; stasis_app_ref(); res |= ast_ari_add_handler(&asterisk); - return res; -} + if (res) { + unload_module(); + return AST_MODULE_LOAD_DECLINE; + } -static int unload_module(void) -{ - ast_ari_remove_handler(&asterisk); - stasis_app_unref(); - return 0; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Asterisk resources", |