added RTLD_GLOBAL to dlopen flags (bug 128705)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -50,12 +50,16 @@
|
|||||||
# define wxDllGetSymbol(handle, modaddr) DosQueryProcAddr(handle, 1L, NULL, (PFN*)modaddr)
|
# define wxDllGetSymbol(handle, modaddr) DosQueryProcAddr(handle, 1L, NULL, (PFN*)modaddr)
|
||||||
# define wxDllClose(handle) DosFreeModule(handle)
|
# define wxDllClose(handle) DosFreeModule(handle)
|
||||||
#elif defined(HAVE_DLOPEN)
|
#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 wxDllGetSymbol(handle, name) dlsym(handle, name)
|
||||||
# define wxDllClose dlclose
|
# define wxDllClose dlclose
|
||||||
#elif defined(HAVE_SHL_LOAD)
|
#elif defined(HAVE_SHL_LOAD)
|
||||||
# define wxDllOpen(lib) shl_load(lib.fn_str(), BIND_DEFERRED, 0)
|
# 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)
|
static inline void *wxDllGetSymbol(shl_t handle, const wxString& name)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user