summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author Brian Carlstrom <bdc@google.com> 2012-08-17 18:23:13 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2012-08-17 18:23:14 -0700
commit20f07ce55cef1024c5764e1df26d93c1ffbcfce4 (patch)
tree4a1c38bb86bcdac56543e46ef5ebb5cf0e2379b9 /src
parentc7c18df6effe46669c2c197e6b5d3926728687b7 (diff)
parent9efc3e03982f042c3ce67cc2c64dbe0f0986119b (diff)
Merge "Fix x86 build where compiler found lock issue" into dalvik-dev
Diffstat (limited to 'src')
-rw-r--r--src/thread.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/thread.cc b/src/thread.cc
index 3bae0af0e5..89740233ec 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -236,14 +236,16 @@ void Thread::CreateNativeThread(JNIEnv* env, jobject java_peer, size_t stack_siz
if (UNLIKELY(pthread_create_result != 0)) {
// pthread_create(3) failed, so clean up.
- ScopedObjectAccess soa(env);
- Object* peer = soa.Decode<Object*>(java_peer);
- SetVmData(soa, peer, 0);
- delete native_thread;
+ {
+ ScopedObjectAccess soa(env);
+ Object* peer = soa.Decode<Object*>(java_peer);
+ SetVmData(soa, peer, 0);
- std::string msg(StringPrintf("pthread_create (%s stack) failed: %s",
- PrettySize(stack_size).c_str(), strerror(pthread_create_result)));
- Thread::Current()->ThrowOutOfMemoryError(msg.c_str());
+ std::string msg(StringPrintf("pthread_create (%s stack) failed: %s",
+ PrettySize(stack_size).c_str(), strerror(pthread_create_result)));
+ Thread::Current()->ThrowOutOfMemoryError(msg.c_str());
+ }
+ delete native_thread;
return;
}
}