From d16cbd53e436ec7ddd9685d94021c5a6af239b91 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sat, 15 Nov 2008 00:32:58 +0000 Subject: [PATCH] clean up error message handling in module loader process. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10412 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_loadable_module.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index ca10db6fa4..77a5ba26ba 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -870,7 +870,7 @@ static switch_status_t switch_loadable_module_load_module_ex(char *dir, char *fn char *path; char *file, *dot; switch_loadable_module_t *new_module = NULL; - switch_status_t status; + switch_status_t status = SWITCH_STATUS_SUCCESS; #ifdef WIN32 const char *ext = ".dll"; @@ -878,8 +878,10 @@ static switch_status_t switch_loadable_module_load_module_ex(char *dir, char *fn const char *ext = ".so"; #endif + *err = ""; if ((file = switch_core_strdup(loadable_modules.pool, fname)) == 0) { + *err = "allocation error"; return SWITCH_STATUS_FALSE; } @@ -910,7 +912,11 @@ static switch_status_t switch_loadable_module_load_module_ex(char *dir, char *fn if (new_module->switch_module_runtime) { switch_core_launch_thread(switch_loadable_module_exec, new_module, new_module->pool); } + } else if (status != SWITCH_STATUS_SUCCESS) { + *err = "module load routine returned an error"; } + } else { + *err = "module load file routine returned an error"; } switch_mutex_unlock(loadable_modules.mutex);