Index: runtime/bin/extensions_linux.cc |
diff --git a/runtime/bin/extensions_linux.cc b/runtime/bin/extensions_linux.cc |
index 1a45e678c542a878b6dc7750a9110782bee090bc..aaad1ba713dd164d2030bd3dc04b9342fbbc9ded 100644 |
--- a/runtime/bin/extensions_linux.cc |
+++ b/runtime/bin/extensions_linux.cc |
@@ -8,6 +8,8 @@ |
#include "bin/extensions.h" |
#include <dlfcn.h> // NOLINT |
+#include "platform/assert.h" |
+ |
namespace dart { |
namespace bin { |
@@ -17,15 +19,24 @@ const char* kIsolateSnapshotDataSymbolName = "_kDartIsolateSnapshotData"; |
const char* kIsolateSnapshotInstructionsSymbolName = |
"_kDartIsolateSnapshotInstructions"; |
-void* Extensions::LoadExtensionLibrary(const char* library_file) { |
+void* Extensions::LoadLibrary(const char* library_file) { |
return dlopen(library_file, RTLD_LAZY); |
} |
+ |
void* Extensions::ResolveSymbol(void* lib_handle, const char* symbol) { |
dlerror(); |
return dlsym(lib_handle, symbol); |
} |
+ |
+void Extensions::UnloadLibrary(void* lib_handle) { |
+ dlerror(); |
+ int result = dlclose(lib_handle); |
+ ASSERT(result == 0); |
+} |
+ |
+ |
Dart_Handle Extensions::GetError() { |
const char* err_str = dlerror(); |
if (err_str != NULL) { |