diff options
author | Calin Juravle <calin@google.com> | 2014-10-22 21:02:23 +0100 |
---|---|---|
committer | Calin Juravle <calin@google.com> | 2014-10-23 11:57:10 +0100 |
commit | 07d83c7a25022064ac0a8dac4fe2a7a38681fa4b (patch) | |
tree | a3b34ea26da0fa4751668441d6ae6698bce47680 /runtime/native_bridge_art_interface.cc | |
parent | 46bf5e0759e80bbe69130d6731a95fd07e10507c (diff) | |
download | art-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.cc | 5 |
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) { |