< prev index next >
src/hotspot/share/runtime/thread.cpp
Print this page
*** 4471,4481 ****
// thread->smr_delete() or we will block on the Threads_lock.
// We must check there are no active references to this thread
// before attempting to delete it. A thread could be waiting
// on _handshake_turn_sem trying to execute a direct handshake
// with this thread.
! if (!ThreadsSMRSupport::is_a_protected_JavaThread_with_lock((JavaThread *) thread, true /* skiplock */)) {
delete thread;
} else {
// Clear value for _thread_key in TLS to prevent, depending
// on pthreads implementation, possible execution of
// thread-specific destructor in infinite loop at thread
--- 4471,4481 ----
// thread->smr_delete() or we will block on the Threads_lock.
// We must check there are no active references to this thread
// before attempting to delete it. A thread could be waiting
// on _handshake_turn_sem trying to execute a direct handshake
// with this thread.
! if (!ThreadsSMRSupport::is_a_protected_JavaThread((JavaThread *) thread)) {
delete thread;
} else {
// Clear value for _thread_key in TLS to prevent, depending
// on pthreads implementation, possible execution of
// thread-specific destructor in infinite loop at thread
< prev index next >