< prev index next >

src/hotspot/share/prims/jvmtiRawMonitor.cpp

Print this page

        

*** 371,383 **** // 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)) { return OM_INTERRUPTED; } intptr_t save = _recursions ; _recursions = 0 ; _waiters ++ ; if (THREAD->is_Java_thread()) { --- 371,387 ---- // The caller must be able to tolerate spurious returns from raw_wait(). THREAD->_ParkEvent->reset() ; OrderAccess::fence() ; // check interrupt event ! 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,411 **** jSelf->set_suspend_equivalent() ; } } guarantee (THREAD == _owner, "invariant") ; ! if (interruptible && Thread::is_interrupted(THREAD, true)) { return OM_INTERRUPTED; } return OM_OK ; } int JvmtiRawMonitor::raw_notify(TRAPS) { if (THREAD != _owner) { --- 403,418 ---- jSelf->set_suspend_equivalent() ; } } guarantee (THREAD == _owner, "invariant") ; ! 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 >