Merge "nativeloader: Add Reset capabilities"

am: 27d75e8bc1

* commit '27d75e8bc11985e2f3de5aa2811749f53a109a41':
  nativeloader: Add Reset capabilities

Change-Id: I32eb61966c3cdbeef3ac909fcd402447929af40e
This commit is contained in:
Dimitry Ivanov 2016-05-02 21:37:05 +00:00 committed by android-build-merger
commit 75701b0d60
2 changed files with 13 additions and 0 deletions

View file

@ -50,6 +50,9 @@ __attribute__((visibility("default")))
android_namespace_t* FindNamespaceByClassLoader(JNIEnv* env, jobject class_loader);
#endif
__attribute__((visibility("default")))
void ResetNativeLoader();
}; // namespace android
#endif // NATIVE_BRIDGE_H_

View file

@ -121,6 +121,10 @@ class LibraryNamespaces {
public_libraries_ = base::Join(sonames, ':');
}
void Reset() {
namespaces_.clear();
}
private:
bool ReadConfig(const std::string& configFile, std::vector<std::string>* sonames) {
// Read list of public native libraries from the config file.
@ -172,6 +176,12 @@ void InitializeNativeLoader() {
#endif
}
void ResetNativeLoader() {
#if defined(__ANDROID__)
std::lock_guard<std::mutex> guard(g_namespaces_mutex);
g_namespaces->Reset();
#endif
}
jstring CreateClassLoaderNamespace(JNIEnv* env,
int32_t target_sdk_version,