Commit 997ae1dc authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Avoid dlclose() only when valgrind is running

parent 3ea8408d
...@@ -1565,7 +1565,11 @@ AC_ARG_ENABLE(debug, ...@@ -1565,7 +1565,11 @@ AC_ARG_ENABLE(debug,
test "${enable_debug}" != "yes" && enable_debug="no" test "${enable_debug}" != "yes" && enable_debug="no"
AH_TEMPLATE(NDEBUG, AH_TEMPLATE(NDEBUG,
[Define to 1 if debug code should NOT be compiled]) [Define to 1 if debug code should NOT be compiled])
AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)]) AS_IF([test "x${enable_debug}" = "xno"], [
AC_DEFINE(NDEBUG)
], [
AC_CHECK_HEADERS([valgrind/valgrind.h])
])
dnl dnl
dnl Allow runing as root (usefull for people runing on embedded platforms) dnl Allow runing as root (usefull for people runing on embedded platforms)
......
...@@ -65,6 +65,9 @@ ...@@ -65,6 +65,9 @@
# include <dl.h> # include <dl.h>
# endif # endif
#endif #endif
#ifdef HAVE_VALGRIND_VALGRIND_H
# include <valgrind/valgrind.h>
#endif
/***************************************************************************** /*****************************************************************************
* Local prototypes * Local prototypes
...@@ -274,11 +277,11 @@ void module_Unload( module_handle_t handle ) ...@@ -274,11 +277,11 @@ void module_Unload( module_handle_t handle )
FreeLibrary( handle ); FreeLibrary( handle );
#elif defined(HAVE_DL_DLOPEN) #elif defined(HAVE_DL_DLOPEN)
# ifdef NDEBUG # ifdef HAVE_VALGRIND_VALGRIND_H
dlclose( handle ); if( RUNNING_ON_VALGRIND > 0 )
# else return; /* do not dlclose() so that we get proper stack traces */
(void)handle;
# endif # endif
dlclose( handle );
#elif defined(HAVE_DL_SHL_LOAD) #elif defined(HAVE_DL_SHL_LOAD)
shl_unload( handle ); shl_unload( handle );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment