summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Src/DynamicLibrary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/Src/DynamicLibrary.cpp')
-rw-r--r--Source/Core/Common/Src/DynamicLibrary.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/Source/Core/Common/Src/DynamicLibrary.cpp b/Source/Core/Common/Src/DynamicLibrary.cpp
index 98cce2f2b6..9ffdd04925 100644
--- a/Source/Core/Common/Src/DynamicLibrary.cpp
+++ b/Source/Core/Common/Src/DynamicLibrary.cpp
@@ -81,8 +81,7 @@ int DynamicLibrary::Load(const char* filename)
// RTLD_LOCAL: don't resolve symbols for other libraries
library = dlopen(filename, RTLD_NOW | RTLD_LOCAL);
#else
- library = RTLD_SELF;
- return 1;
+ library = dlopen(NULL, RTLD_LAZY);
#endif
DEBUG_LOG(COMMON, "DL: LoadLibrary: %s(%p)", filename, library);
@@ -120,10 +119,8 @@ int DynamicLibrary::Unload()
library_file.c_str(), library);
#ifdef _WIN32
retval = FreeLibrary(library);
-#elif defined __linux__
- retval = dlclose(library) ? 0 : 1;
#else
- return 1;
+ retval = dlclose(library) ? 0 : 1;
#endif
if (! retval) {