< prev index next >
src/hotspot/share/utilities/vmError.cpp
Print this page
rev 56552 : imported patch 8218543-2
*** 1203,1213 ****
// STEP("printing end marker")
st->print_cr("END.");
}
! volatile intptr_t VMError::first_error_tid = -1;
/** Expand a pattern into a buffer starting at pos and open a file using constructed path */
static int expand_and_open(const char* pattern, bool overwrite_existing, char* buf, size_t buflen, size_t pos) {
int fd = -1;
int mode = O_RDWR | O_CREAT;
--- 1203,1213 ----
// STEP("printing end marker")
st->print_cr("END.");
}
! volatile intptr_t VMError::_first_error_tid = -1;
/** Expand a pattern into a buffer starting at pos and open a file using constructed path */
static int expand_and_open(const char* pattern, bool overwrite_existing, char* buf, size_t buflen, size_t pos) {
int fd = -1;
int mode = O_RDWR | O_CREAT;
*** 1353,1364 ****
if (SuppressFatalErrorMessage) {
os::abort(CreateCoredumpOnCrash);
}
intptr_t mytid = os::current_thread_id();
! if (first_error_tid == -1 &&
! Atomic::cmpxchg(mytid, &first_error_tid, (intptr_t)-1) == -1) {
// Initialize time stamps to use the same base.
out.time_stamp().update_to(1);
log.time_stamp().update_to(1);
--- 1353,1364 ----
if (SuppressFatalErrorMessage) {
os::abort(CreateCoredumpOnCrash);
}
intptr_t mytid = os::current_thread_id();
! if (_first_error_tid == -1 &&
! Atomic::cmpxchg(mytid, &_first_error_tid, (intptr_t)-1) == -1) {
// Initialize time stamps to use the same base.
out.time_stamp().update_to(1);
log.time_stamp().update_to(1);
*** 1414,1424 ****
// to be reported.
if (UseOSErrorReporting && log_done) return;
// This is not the first error, see if it happened in a different thread
// or in the same thread during error reporting.
! if (first_error_tid != mytid) {
char msgbuf[64];
jio_snprintf(msgbuf, sizeof(msgbuf),
"[thread " INTX_FORMAT " also had an error]",
mytid);
out.print_raw_cr(msgbuf);
--- 1414,1424 ----
// to be reported.
if (UseOSErrorReporting && log_done) return;
// This is not the first error, see if it happened in a different thread
// or in the same thread during error reporting.
! if (_first_error_tid != mytid) {
char msgbuf[64];
jio_snprintf(msgbuf, sizeof(msgbuf),
"[thread " INTX_FORMAT " also had an error]",
mytid);
out.print_raw_cr(msgbuf);
< prev index next >