Skip to content
Snippets Groups Projects
Commit 970c6876 authored by Kevin P. Fleming's avatar Kevin P. Fleming
Browse files

instead of reverting this supposedly 'stupid' change, let's try to get it working properly

also eliminate a warning from dlopen() because some flags were missing on the second dlopen() call


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent b56d1a76
No related branches found
No related tags found
No related merge requests found
......@@ -387,6 +387,14 @@ static struct ast_module *load_dynamic_module(const char *resource_in, unsigned
on the already-opened library to what we want... if not, we have to
close it and start over
*/
#if HAVE_RTLD_NOLOAD
if (!dlopen(fn, RTLD_NOLOAD | (wants_global ? RTLD_LAZY | RTLD_GLOBAL : RTLD_NOW | RTLD_LOCAL))) {
ast_log(LOG_WARNING, "%s\n", dlerror());
while (!dlclose(lib));
free(resource_being_loaded);
return NULL;
}
#else
while (!dlclose(lib));
resource_being_loaded = NULL;
......@@ -406,6 +414,7 @@ static struct ast_module *load_dynamic_module(const char *resource_in, unsigned
/* since the module was successfully opened, and it registered itself
the previous time we did that, we're going to assume it worked this
time too :) */
#endif
AST_LIST_LAST(&module_list)->lib = lib;
resource_being_loaded = NULL;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment