Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a1f9518 authored by Dimitry Ivanov's avatar Dimitry Ivanov
Browse files

nativeloader: Add CloseNativeLibrary() method

This method is called by art on UnloadNativeLibraries()

Bug: http://b/28406866
Change-Id: Ibccff93c83d6ccd3d0a1c0294a64b09281b4e05e
(cherry picked from commit 09a516bf)
parent bfd6a0f2
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -43,6 +43,9 @@ void* OpenNativeLibrary(JNIEnv* env,
                        jobject class_loader,
                        jstring library_path);

__attribute__((visibility("default")))
bool CloseNativeLibrary(void* handle);

#if defined(__ANDROID__)
// Look up linker namespace by class_loader. Returns nullptr if
// there is no namespace associated with the class_loader.
+4 −0
Original line number Diff line number Diff line
@@ -231,6 +231,10 @@ void* OpenNativeLibrary(JNIEnv* env,
#endif
}

bool CloseNativeLibrary(void* handle) {
  return dlclose(handle) == 0;
}

#if defined(__ANDROID__)
android_namespace_t* FindNamespaceByClassLoader(JNIEnv* env, jobject class_loader) {
  std::lock_guard<std::mutex> guard(g_namespaces_mutex);