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