From f1d666e1b48f8070ef1177fce156c08827f08eb8 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 3 Sep 2015 16:13:34 -0700 Subject: Add ScopedThreadSuspension Fixes the TransitionFromRunnableToSuspended and TransitionFromSuspendedToRunnable pattern that was prone to errors. Change-Id: Ie6ae9c0357c83b4fc4899d05dfa0975553170267 --- runtime/java_vm_ext.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'runtime/java_vm_ext.cc') diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index b1c5cf0465..1e8326b751 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -406,9 +406,9 @@ void JavaVMExt::JniAbort(const char* jni_function_name, const char* msg) { check_jni_abort_hook_(check_jni_abort_hook_data_, os.str()); } else { // Ensure that we get a native stack trace for this thread. - self->TransitionFromRunnableToSuspended(kNative); + ScopedThreadSuspension sts(self, kNative); LOG(FATAL) << os.str(); - self->TransitionFromSuspendedToRunnable(); // Unreachable, keep annotalysis happy. + UNREACHABLE(); } } -- cgit v1.2.3-59-g8ed1b