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-27 15:18:28 +0000
commit2ff973cc395007ddbcf6b498c8de8880d77dd787 (patch)
tree6b6ec94c9b9978d3662151faa434a4e34b47bb82 /runtime/native_bridge_art_interface.cc
parent506794738de41db046a8094e04aa2a7c5a6e02db (diff)
downloadart-2ff973cc395007ddbcf6b498c8de8880d77dd787.zip
art-2ff973cc395007ddbcf6b498c8de8880d77dd787.tar.gz
art-2ff973cc395007ddbcf6b498c8de8880d77dd787.tar.bz2
[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 (cherry picked from commit 07d83c7a25022064ac0a8dac4fe2a7a38681fa4b) Change-Id: I3a5155a6760399ccfaf9130c72679615a3d4f2e7
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 cc44615..28eebdd 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) {