]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Remove the use of RTLD_NOLOAD, as it is not behaving like expected.
authorRussell Bryant <russell@russellbryant.com>
Thu, 19 Mar 2009 17:52:52 +0000 (17:52 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 19 Mar 2009 17:52:52 +0000 (17:52 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183241 65c4cc65-6c06-0410-ace0-fbb531ad65f3

configure
configure.ac
include/asterisk/autoconfig.h.in
main/loader.c

index 0be5b9d215aab2e3d59e3264d0155006edfeb247..8eeff7e564952b24cf34fa3289045bc0b4f193f0 100755 (executable)
--- a/configure
+++ b/configure
@@ -15909,60 +15909,6 @@ echo "${ECHO_T}no" >&6; }
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-
-{ echo "$as_me:$LINENO: checking for RTLD_NOLOAD" >&5
-echo $ECHO_N "checking for RTLD_NOLOAD... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <dlfcn.h>
-int
-main ()
-{
-int foo = RTLD_NOLOAD;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_RTLD_NOLOAD 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
index f072359ccc4b853379a90fe15f97689152f9441b..aaa48608d6c2ae8db99aba1bc9055b89a1968474 100644 (file)
@@ -432,15 +432,6 @@ AC_LINK_IFELSE(
        AC_MSG_RESULT(no)
 )
 
-AC_MSG_CHECKING(for RTLD_NOLOAD)
-AC_LINK_IFELSE(
-       AC_LANG_PROGRAM([#include <dlfcn.h>],
-                       [int foo = RTLD_NOLOAD;]),
-       AC_MSG_RESULT(yes)
-       AC_DEFINE([HAVE_RTLD_NOLOAD], 1, [Define to 1 if your system has a dynamic linker that supports RTLD_NOLOAD.]),
-       AC_MSG_RESULT(no)
-)
-
 AC_MSG_CHECKING(for IP_MTU_DISCOVER)
 AC_LINK_IFELSE(
        AC_LANG_PROGRAM([#include <netinet/in.h>],
index 1c44abb3bdac25a945340935ea257b4bc22f5ca0..e3de4487f85bd392bc442ad38e82e1ddf6db7e61 100644 (file)
 /* Define to 1 if you have the `rint' function. */
 #undef HAVE_RINT
 
-/* Define to 1 if your system has a dynamic linker that supports RTLD_NOLOAD.
-   */
-#undef HAVE_RTLD_NOLOAD
-
 /* Define to 1 if your system has /sbin/launchd. */
 #undef HAVE_SBIN_LAUNCHD
 
index 60c8a7676f52c2095a54bcd474a95bb886976949..c579b3af4ceabf489ab59096d4527254c1b32084 100644 (file)
@@ -386,18 +386,6 @@ static struct ast_module *load_dynamic_module(const char *resource_in, unsigned
                return NULL;
        }
 
-       /* if the system supports RTLD_NOLOAD, we can just 'promote' the flags
-          on the already-opened library to what we want... if not, we have to
-          close it and start over
-       */
-#if defined(HAVE_RTLD_NOLOAD) && !defined(__Darwin__)
-       if (!dlopen(fn, RTLD_NOLOAD | (wants_global ? RTLD_LAZY | RTLD_GLOBAL : RTLD_NOW | RTLD_LOCAL))) {
-               ast_log(LOG_WARNING, "Unable to promote flags on module '%s': %s\n", resource_in, dlerror());
-               while (!dlclose(lib));
-               free(resource_being_loaded);
-               return NULL;
-       }
-#else
        while (!dlclose(lib));
        resource_being_loaded = NULL;
 
@@ -417,7 +405,6 @@ 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;