diff options
Diffstat (limited to 'runtime/java_vm_ext.cc')
-rw-r--r-- | runtime/java_vm_ext.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index 1444d9762a..fed8bf07be 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -21,6 +21,7 @@ #include "base/mutex.h" #include "base/stl_util.h" #include "check_jni.h" +#include "fault_handler.h" #include "indirect_reference_table-inl.h" #include "mirror/art_method.h" #include "mirror/class-inl.h" @@ -688,6 +689,10 @@ bool JavaVMExt::LoadNativeLibrary(JNIEnv* env, const std::string& path, jobject JNI_OnLoadFn jni_on_load = reinterpret_cast<JNI_OnLoadFn>(sym); int version = (*jni_on_load)(this, nullptr); + if (runtime_->GetTargetSdkVersion() != 0 && runtime_->GetTargetSdkVersion() <= 21) { + fault_manager.EnsureArtActionInFrontOfSignalChain(); + } + self->SetClassLoaderOverride(old_class_loader.get()); if (version == JNI_ERR) { |