changeset 14608:682fba1bcf95

add missing null check in is_interrupted
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 18 Mar 2014 15:35:15 -0700
parents 7573ba6dfba2
children a65db4b0d185
files src/share/vm/graal/graalRuntime.cpp
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/graal/graalRuntime.cpp	Tue Mar 18 15:32:56 2014 -0700
+++ b/src/share/vm/graal/graalRuntime.cpp	Tue Mar 18 15:35:15 2014 -0700
@@ -539,7 +539,12 @@
   Handle receiverHandle(thread, receiver);
   MutexLockerEx ml(thread->threadObj() == (void*)receiver ? NULL : Threads_lock);
   JavaThread* receiverThread = java_lang_Thread::thread(receiverHandle());
-  return (jint) Thread::is_interrupted(receiverThread, clear_interrupted != 0);
+  if (receiverThread == NULL) {
+    // The other thread may exit during this process, which is ok so return false.
+    return JNI_FALSE;
+  } else {
+    return (jint) Thread::is_interrupted(receiverThread, clear_interrupted != 0);
+  }
 JRT_END
 
 // JVM_InitializeGraalRuntime