< prev index next >
src/hotspot/share/services/memTracker.cpp
Print this page
*** 181,191 ****
// This function is called during both error reporting and normal VM exit.
// However, it should only ever run once. E.g. if the VM crashes after
// printing the final report during normal VM exit, it should not print
// the final report again. In addition, it should be guarded from
// recursive calls in case NMT reporting itself crashes.
! if (Atomic::cmpxchg(true, &g_final_report_did_run, false) == false) {
NMT_TrackingLevel level = tracking_level();
if (level >= NMT_summary) {
report(level == NMT_summary, output);
}
}
--- 181,191 ----
// This function is called during both error reporting and normal VM exit.
// However, it should only ever run once. E.g. if the VM crashes after
// printing the final report during normal VM exit, it should not print
// the final report again. In addition, it should be guarded from
// recursive calls in case NMT reporting itself crashes.
! if (Atomic::cmpxchg(&g_final_report_did_run, false, true) == false) {
NMT_TrackingLevel level = tracking_level();
if (level >= NMT_summary) {
report(level == NMT_summary, output);
}
}
< prev index next >