]> git.saurik.com Git - wxWidgets.git/commitdiff
added RTLD_GLOBAL to dlopen flags (bug 128705)
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 17 Jan 2001 16:45:04 +0000 (16:45 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 17 Jan 2001 16:45:04 +0000 (16:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dynlib.cpp

index 3aa8cc8758618e03840a2f0bb3b766f6ca2986a1..ca16df0daa299af6eb85081a7efae0d39ef8b56b 100644 (file)
 #  define wxDllGetSymbol(handle, modaddr)   DosQueryProcAddr(handle, 1L, NULL, (PFN*)modaddr)
 #  define wxDllClose(handle)                DosFreeModule(handle)
 #elif defined(HAVE_DLOPEN)
-#   define wxDllOpen(lib)                dlopen(lib.fn_str(), RTLD_NOW/*RTLD_LAZY*/)
+    // note about dlopen() flags: we use RTLD_NOW to have more Windows-like
+    // behaviour (Win won't let you load a library with missing symbols) and
+    // RTLD_GLOBAL because it is needed sometimes and probably doesn't hurt
+    // otherwise
+#   define wxDllOpen(lib)                dlopen(lib.fn_str(), RTLD_LAZY | RTLD_GLOBAL)
 #   define wxDllGetSymbol(handle, name)  dlsym(handle, name)
 #   define wxDllClose                    dlclose
 #elif defined(HAVE_SHL_LOAD)
 #   define wxDllOpen(lib)                shl_load(lib.fn_str(), BIND_DEFERRED, 0)
-#   define wxDllClose      shl_unload
+#   define wxDllClose                    shl_unload
 
     static inline void *wxDllGetSymbol(shl_t handle, const wxString& name)
     {