X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fos.c;fp=src%2Fmodules%2Fos.c;h=53368e47de6073a14356dd90b7e5f762a59341f9;hb=997ae1dc88c24d009bbaa61a2dea27291aa6949c;hp=4a8912799533be8bc24249e5d12662685172cf7f;hpb=3ea8408d39fdb61dd022f248b08081d4a9f45326;p=vlc
diff --git a/src/modules/os.c b/src/modules/os.c
index 4a89127995..53368e47de 100644
--- a/src/modules/os.c
+++ b/src/modules/os.c
@@ -65,6 +65,9 @@
# include
# endif
#endif
+#ifdef HAVE_VALGRIND_VALGRIND_H
+# include
+#endif
/*****************************************************************************
* Local prototypes
@@ -274,11 +277,11 @@ void module_Unload( module_handle_t handle )
FreeLibrary( handle );
#elif defined(HAVE_DL_DLOPEN)
-# ifdef NDEBUG
- dlclose( handle );
-# else
- (void)handle;
+# ifdef HAVE_VALGRIND_VALGRIND_H
+ if( RUNNING_ON_VALGRIND > 0 )
+ return; /* do not dlclose() so that we get proper stack traces */
# endif
+ dlclose( handle );
#elif defined(HAVE_DL_SHL_LOAD)
shl_unload( handle );