1353 Atomic::cmpxchg(mytid, &first_error_tid, (intptr_t)-1) == -1) {
1354
1355 // Initialize time stamps to use the same base.
1356 out.time_stamp().update_to(1);
1357 log.time_stamp().update_to(1);
1358
1359 _id = id;
1360 _message = message;
1361 _thread = thread;
1362 _pc = pc;
1363 _siginfo = siginfo;
1364 _context = context;
1365 _filename = filename;
1366 _lineno = lineno;
1367 _size = size;
1368 jio_vsnprintf(_detail_msg, sizeof(_detail_msg), detail_fmt, detail_args);
1369
1370 // first time
1371 _error_reported = true;
1372
1373 reporting_started();
1374 if (!TestUnresponsiveErrorHandler) {
1375 // Record reporting_start_time unless we're running the
1376 // TestUnresponsiveErrorHandler test. For that test we record
1377 // reporting_start_time at the beginning of the test.
1378 record_reporting_start_time();
1379 } else {
1380 out.print_raw_cr("Delaying recording reporting_start_time for TestUnresponsiveErrorHandler.");
1381 }
1382
1383 if (ShowMessageBoxOnError || PauseAtExit) {
1384 show_message_box(buffer, sizeof(buffer));
1385
1386 // User has asked JVM to abort. Reset ShowMessageBoxOnError so the
1387 // WatcherThread can kill JVM if the error handler hangs.
1388 ShowMessageBoxOnError = false;
1389 }
1390
1391 os::check_dump_limit(buffer, sizeof(buffer));
1392
|
1353 Atomic::cmpxchg(mytid, &first_error_tid, (intptr_t)-1) == -1) {
1354
1355 // Initialize time stamps to use the same base.
1356 out.time_stamp().update_to(1);
1357 log.time_stamp().update_to(1);
1358
1359 _id = id;
1360 _message = message;
1361 _thread = thread;
1362 _pc = pc;
1363 _siginfo = siginfo;
1364 _context = context;
1365 _filename = filename;
1366 _lineno = lineno;
1367 _size = size;
1368 jio_vsnprintf(_detail_msg, sizeof(_detail_msg), detail_fmt, detail_args);
1369
1370 // first time
1371 _error_reported = true;
1372
1373 if (_id == OOM_MALLOC_ERROR || _id == OOM_MMAP_ERROR) {
1374 os::release_nestegg();
1375 }
1376
1377 reporting_started();
1378 if (!TestUnresponsiveErrorHandler) {
1379 // Record reporting_start_time unless we're running the
1380 // TestUnresponsiveErrorHandler test. For that test we record
1381 // reporting_start_time at the beginning of the test.
1382 record_reporting_start_time();
1383 } else {
1384 out.print_raw_cr("Delaying recording reporting_start_time for TestUnresponsiveErrorHandler.");
1385 }
1386
1387 if (ShowMessageBoxOnError || PauseAtExit) {
1388 show_message_box(buffer, sizeof(buffer));
1389
1390 // User has asked JVM to abort. Reset ShowMessageBoxOnError so the
1391 // WatcherThread can kill JVM if the error handler hangs.
1392 ShowMessageBoxOnError = false;
1393 }
1394
1395 os::check_dump_limit(buffer, sizeof(buffer));
1396
|