< 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 >