< prev index next >

src/hotspot/share/prims/jvmtiRawMonitor.cpp

Print this page

        

@@ -371,13 +371,17 @@
   // The caller must be able to tolerate spurious returns from raw_wait().
   THREAD->_ParkEvent->reset() ;
   OrderAccess::fence() ;
 
   // check interrupt event
-  if (interruptible && Thread::is_interrupted(THREAD, true)) {
+  if (interruptible) {
+    assert(THREAD->is_Java_thread(), "Only JavaThreads can be interruptible");
+    JavaThread* jt = (JavaThread*) THREAD;
+    if (jt->is_interrupted(true)) {
     return OM_INTERRUPTED;
   }
+  }
 
   intptr_t save = _recursions ;
   _recursions = 0 ;
   _waiters ++ ;
   if (THREAD->is_Java_thread()) {

@@ -399,13 +403,16 @@
         jSelf->set_suspend_equivalent() ;
      }
   }
   guarantee (THREAD == _owner, "invariant") ;
 
-  if (interruptible && Thread::is_interrupted(THREAD, true)) {
+  if (interruptible) {
+    JavaThread* jt = (JavaThread*) THREAD;
+    if (jt->is_interrupted(true)) {
     return OM_INTERRUPTED;
   }
+  }
   return OM_OK ;
 }
 
 int JvmtiRawMonitor::raw_notify(TRAPS) {
   if (THREAD != _owner) {
< prev index next >