Index: runtime/bin/extensions_fuchsia.cc |
diff --git a/runtime/bin/extensions_fuchsia.cc b/runtime/bin/extensions_fuchsia.cc |
index b464fe0fab510dba6c3f4fac8d3b3bc261b5a374..62c8474d94462d32d3fa7c125e95aab8863787aa 100644 |
--- a/runtime/bin/extensions_fuchsia.cc |
+++ b/runtime/bin/extensions_fuchsia.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) { |