summaryrefslogtreecommitdiffstats
path: root/runtime/native_bridge_art_interface.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2014-10-22 21:02:23 +0100
committerCalin Juravle <calin@google.com>2014-10-23 11:57:10 +0100
commit07d83c7a25022064ac0a8dac4fe2a7a38681fa4b (patch)
treea3b34ea26da0fa4751668441d6ae6698bce47680 /runtime/native_bridge_art_interface.cc
parent46bf5e0759e80bbe69130d6731a95fd07e10507c (diff)
downloadart-07d83c7a25022064ac0a8dac4fe2a7a38681fa4b.tar.gz
art-07d83c7a25022064ac0a8dac4fe2a7a38681fa4b.tar.bz2
art-07d83c7a25022064ac0a8dac4fe2a7a38681fa4b.zip
[native bridge] Make sure we always unload the native bridge
libnativebridge may allocate some resources during loading and intialization and de-allocate them when unloading. This makes sure that we don't leak anything. Bug: 18097480 Change-Id: I901f2d3c2ab1efb2875388f99e8c5c111ce82d5a
Diffstat (limited to 'runtime/native_bridge_art_interface.cc')
-rw-r--r--runtime/native_bridge_art_interface.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/native_bridge_art_interface.cc b/runtime/native_bridge_art_interface.cc
index bc191b4289..b0d8e87a90 100644
--- a/runtime/native_bridge_art_interface.cc
+++ b/runtime/native_bridge_art_interface.cc
@@ -107,10 +107,11 @@ static android::NativeBridgeRuntimeCallbacks native_bridge_art_callbacks_ {
GetMethodShorty, GetNativeMethodCount, GetNativeMethods
};
-void LoadNativeBridge(std::string& native_bridge_library_filename) {
- android::LoadNativeBridge(native_bridge_library_filename.c_str(), &native_bridge_art_callbacks_);
+bool LoadNativeBridge(std::string& native_bridge_library_filename) {
VLOG(startup) << "Runtime::Setup native bridge library: "
<< (native_bridge_library_filename.empty() ? "(empty)" : native_bridge_library_filename);
+ return android::LoadNativeBridge(native_bridge_library_filename.c_str(),
+ &native_bridge_art_callbacks_);
}
void PreInitializeNativeBridge(std::string dir) {