diff options
| author | 2012-08-17 17:47:17 -0700 | |
|---|---|---|
| committer | 2012-08-17 17:47:17 -0700 | |
| commit | 9efc3e03982f042c3ce67cc2c64dbe0f0986119b (patch) | |
| tree | 3b2ba9bc2b64f1ef3bccc10fb62aec37fcac3d43 | |
| parent | cd30d82113913125222454d41981c8740724fb30 (diff) | |
Fix x86 build where compiler found lock issue
Change-Id: I00eba554539cf9f700c38ccf42eeafd011725a9f
| -rw-r--r-- | src/thread.cc | 16 |
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; } } |