diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-13 17:42:17 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-13 17:42:17 +0000 |
commit | a505dcedc68ec4f23ede2264059f449e0b5684ab (patch) | |
tree | 30a7dd80f86d8a2a1565249bf10089e05453caa1 | |
parent | 85062e5137aba4e9dd1ca13c46b08ae7cb507924 (diff) |
Re-introduce proper error handling that was removed in recent commits.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@115850 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | apps/app_jack.c | 12 | ||||
-rw-r--r-- | apps/app_skel.c | 3 | ||||
-rw-r--r-- | funcs/func_speex.c | 12 |
3 files changed, 18 insertions, 9 deletions
diff --git a/apps/app_jack.c b/apps/app_jack.c index 2aa253f9b..1b5f4e738 100644 --- a/apps/app_jack.c +++ b/apps/app_jack.c @@ -977,12 +977,16 @@ static int unload_module(void) static int load_module(void) { - int res = 0; + if (ast_register_application(jack_app, jack_exec, jack_synopsis, jack_desc)) { + return AST_MODULE_LOAD_DECLINE; + } - res |= ast_register_application(jack_app, jack_exec, jack_synopsis, jack_desc); - res |= ast_custom_function_register(&jack_hook_function); + if (ast_custom_function_register(&jack_hook_function)) { + ast_unregister_application(jack_app); + return AST_MODULE_LOAD_DECLINE; + } - return res; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "JACK Interface"); diff --git a/apps/app_skel.c b/apps/app_skel.c index 061f1e87c..588563d2f 100644 --- a/apps/app_skel.c +++ b/apps/app_skel.c @@ -114,7 +114,8 @@ static int unload_module(void) static int load_module(void) { - return ast_register_application(app, app_exec, synopsis, descrip); + return ast_register_application(app, app_exec, synopsis, descrip) ? + AST_MODULE_LOAD_DECLINE : AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Skeleton (sample) Application"); diff --git a/funcs/func_speex.c b/funcs/func_speex.c index f4d5fe412..fc4eb8e3e 100644 --- a/funcs/func_speex.c +++ b/funcs/func_speex.c @@ -336,12 +336,16 @@ static int unload_module(void) static int load_module(void) { - int res = 0; + if (ast_custom_function_register(&agc_function)) { + return AST_MODULE_LOAD_DECLINE; + } - res |= ast_custom_function_register(&agc_function); - res |= ast_custom_function_register(&denoise_function); + if (ast_custom_function_register(&denoise_function)) { + ast_custom_function_unregister(&agc_function); + return AST_MODULE_LOAD_DECLINE; + } - return res; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Noise reduction and Automatic Gain Control (AGC)"); |