comparison src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp @ 11151:5e3b6f79d280

8020701: Avoid crashes in WatcherThread Reviewed-by: acorn, dcubed, dsimms
author rbackman
date Wed, 17 Jul 2013 13:48:15 +0200
parents f2110083203d
children af21010d1062
comparison
equal deleted inserted replaced
11150:c29568b733d2 11151:5e3b6f79d280
313 int abort_if_unrecognized) { 313 int abort_if_unrecognized) {
314 ucontext_t* uc = (ucontext_t*) ucVoid; 314 ucontext_t* uc = (ucontext_t*) ucVoid;
315 315
316 Thread* t = ThreadLocalStorage::get_thread_slow(); 316 Thread* t = ThreadLocalStorage::get_thread_slow();
317 317
318 // Must do this before SignalHandlerMark, if crash protection installed we will longjmp away
319 // (no destructors can be run)
320 os::WatcherThreadCrashProtection::check_crash_protection(sig, t);
321
318 SignalHandlerMark shm(t); 322 SignalHandlerMark shm(t);
319 323
320 if(sig == SIGPIPE || sig == SIGXFSZ) { 324 if(sig == SIGPIPE || sig == SIGXFSZ) {
321 if (os::Solaris::chained_handler(sig, info, ucVoid)) { 325 if (os::Solaris::chained_handler(sig, info, ucVoid)) {
322 return true; 326 return true;