diff src/os/solaris/vm/os_solaris.cpp @ 8124:5fc51c1ecdeb

Merge.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 05 Mar 2013 23:44:54 +0100
parents 3ac7d10a6572 5cd2fac2ae70
children b8f261ba79c6
line wrap: on
line diff
--- a/src/os/solaris/vm/os_solaris.cpp	Tue Mar 05 21:58:51 2013 +0100
+++ b/src/os/solaris/vm/os_solaris.cpp	Tue Mar 05 23:44:54 2013 +0100
@@ -1865,7 +1865,7 @@
 
 // Die immediately, no exit hook, no abort hook, no cleanup.
 void os::die() {
-  _exit(-1);
+  ::abort(); // dump core (for debugging)
 }
 
 // unused
@@ -4317,7 +4317,9 @@
 
 
 void signalHandler(int sig, siginfo_t* info, void* ucVoid) {
+  int orig_errno = errno;  // Preserve errno value over signal handler.
   JVM_handle_solaris_signal(sig, info, ucVoid, true);
+  errno = orig_errno;
 }
 
 /* Do not delete - if guarantee is ever removed,  a signal handler (even empty)