src/hotspot/share/prims/jvm.cpp
changeset 58901 2700c409ff10
parent 58872 ca70299778b9
child 58920 d67ebc838ab8
equal deleted inserted replaced
58900:434329f6f456 58901:2700c409ff10
  3063     receiver->interrupt();
  3063     receiver->interrupt();
  3064   }
  3064   }
  3065 JVM_END
  3065 JVM_END
  3066 
  3066 
  3067 
  3067 
  3068 JVM_ENTRY(jboolean, JVM_IsInterrupted(JNIEnv* env, jobject jthread, jboolean clear_interrupted))
       
  3069   JVMWrapper("JVM_IsInterrupted");
       
  3070 
       
  3071   ThreadsListHandle tlh(thread);
       
  3072   JavaThread* receiver = NULL;
       
  3073   bool is_alive = tlh.cv_internal_thread_to_JavaThread(jthread, &receiver, NULL);
       
  3074   if (is_alive) {
       
  3075     // jthread refers to a live JavaThread.
       
  3076     return (jboolean) receiver->is_interrupted(clear_interrupted != 0);
       
  3077   } else {
       
  3078     return JNI_FALSE;
       
  3079   }
       
  3080 JVM_END
       
  3081 
       
  3082 
       
  3083 // Return true iff the current thread has locked the object passed in
  3068 // Return true iff the current thread has locked the object passed in
  3084 
  3069 
  3085 JVM_ENTRY(jboolean, JVM_HoldsLock(JNIEnv* env, jclass threadClass, jobject obj))
  3070 JVM_ENTRY(jboolean, JVM_HoldsLock(JNIEnv* env, jclass threadClass, jobject obj))
  3086   JVMWrapper("JVM_HoldsLock");
  3071   JVMWrapper("JVM_HoldsLock");
  3087   assert(THREAD->is_Java_thread(), "sanity check");
  3072   assert(THREAD->is_Java_thread(), "sanity check");