< prev index next >

src/hotspot/share/runtime/thread.cpp

Print this page
rev 47819 : imported patch 10.07.open.rebase_20171110.dcubed
rev 47820 : imported patch 10.08.open.rebase_20171114.rehn
rev 47821 : imported patch 10.09.open.TLH_hang_fix.rehn

*** 2021,2035 **** _timer_exit_phase4.start(); } // Remove from list of active threads list, and notify VM thread if we are the last non-daemon thread Threads::remove(this); - // If someone set a handshake on us just as we entered exit path, we simple cancel it. - if (ThreadLocalHandshakes) { - cancel_handshake(); - } - if (log_is_enabled(Debug, os, thread, timer)) { _timer_exit_phase4.stop(); ResourceMark rm(this); log_debug(os, thread, timer)("name='%s'" ", exit-phase1=" JLONG_FORMAT --- 2021,2030 ----
*** 4828,4837 **** --- 4823,4837 ---- Threads::clear_smr_delete_notify(); Threads::smr_delete_lock()->unlock(); // Retry the whole scenario. } + // If someone set a handshake on us just as we entered exit path, we simple cancel it. + if (ThreadLocalHandshakes) { + thread->cancel_handshake(); + } + delete thread; if (EnableThreadSMRStatistics) { timer.stop(); jint millis = (jint)timer.milliseconds(); Threads::inc_smr_deleted_thread_cnt();
< prev index next >