#ifndef WIN32
void* handle;
- handle = dlopen( impl_name.c_str() , RTLD_NOW ) ;
+ handle = dlopen( impl_name.c_str() , RTLD_NOW | RTLD_GLOBAL ) ;
if ( !handle )
{
//not loadable. Try to find the lib file in LD_LIBRARY_PATH
}
void* handle;
- handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
+ handle = dlopen( impl_name.c_str() , RTLD_LAZY | RTLD_GLOBAL ) ;
if ( handle )
{
_library_map[impl_name] = handle;
std::string absolute_impl_name(_impl_name);
MESSAGE("[" << _numproc << "] absolute_impl_name=" << absolute_impl_name);
- void * handle = dlopen(absolute_impl_name.c_str(), RTLD_LAZY);
+ void * handle = dlopen(absolute_impl_name.c_str(), RTLD_LAZY | RTLD_GLOBAL);
if(!handle){
INFOS("[" << _numproc << "] Can't load shared library : " << absolute_impl_name);
INFOS("[" << _numproc << "] error dlopen: " << dlerror());
#endif
void* handle;
#ifndef WIN32
- handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
+ handle = dlopen( impl_name.c_str() , RTLD_LAZY | RTLD_GLOBAL ) ;
#else
handle = dlopen( impl_name.c_str() , 0 ) ;
#endif
MESSAGE("Try to load C++ component");
void* handle;
#ifndef WIN32
- handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
+ handle = dlopen( impl_name.c_str() , RTLD_LAZY | RTLD_GLOBAL ) ;
#else
handle = dlopen( impl_name.c_str() , 0 ) ;
#endif
void* handle;
std::string impl_name = std::string ("lib") + traceKind
+ std::string("TraceCollector.so");
- handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ;
+ handle = dlopen( impl_name.c_str() , RTLD_LAZY | RTLD_GLOBAL ) ;
#else
HINSTANCE handle;
std::string impl_name = std::string ("lib") + traceKind + std::string(".dll");