summaryrefslogtreecommitdiffstats
path: root/runtime/java_vm_ext.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/java_vm_ext.cc')
-rw-r--r--runtime/java_vm_ext.cc5
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) {