< prev index next >

src/hotspot/os/aix/os_aix.cpp

Print this page




1163 
1164   // needs to remove object in file system
1165   AttachListener::abort();
1166 
1167   // flush buffered output, finish log files
1168   ostream_abort();
1169 
1170   // Check for abort hook
1171   abort_hook_t abort_hook = Arguments::abort_hook();
1172   if (abort_hook != NULL) {
1173     abort_hook();
1174   }
1175 }
1176 
1177 // Note: os::abort() might be called very early during initialization, or
1178 // called from signal handler. Before adding something to os::abort(), make
1179 // sure it is async-safe and can handle partially initialized VM.
1180 void os::abort(bool dump_core, void* siginfo, const void* context) {
1181   os::shutdown();
1182   if (dump_core) {
1183 #ifndef PRODUCT
1184     fdStream out(defaultStream::output_fd());
1185     out.print_raw("Current thread is ");
1186     char buf[16];
1187     jio_snprintf(buf, sizeof(buf), UINTX_FORMAT, os::current_thread_id());
1188     out.print_raw_cr(buf);
1189     out.print_raw_cr("Dumping core ...");
1190 #endif
1191     ::abort(); // dump core
1192   }
1193 
1194   ::exit(1);
1195 }
1196 
1197 // Die immediately, no exit hook, no abort hook, no cleanup.
1198 // Dump a core file, if possible, for debugging.
1199 void os::die() {
1200   if (TestUnresponsiveErrorHandler && !CreateCoredumpOnCrash) {
1201     // For TimeoutInErrorHandlingTest.java, we just kill the VM
1202     // and don't take the time to generate a core file.
1203     os::signal_raise(SIGKILL);
1204   } else {
1205     ::abort();
1206   }
1207 }
1208 
1209 intx os::current_thread_id() {
1210   return (intx)pthread_self();




1163 
1164   // needs to remove object in file system
1165   AttachListener::abort();
1166 
1167   // flush buffered output, finish log files
1168   ostream_abort();
1169 
1170   // Check for abort hook
1171   abort_hook_t abort_hook = Arguments::abort_hook();
1172   if (abort_hook != NULL) {
1173     abort_hook();
1174   }
1175 }
1176 
1177 // Note: os::abort() might be called very early during initialization, or
1178 // called from signal handler. Before adding something to os::abort(), make
1179 // sure it is async-safe and can handle partially initialized VM.
1180 void os::abort(bool dump_core, void* siginfo, const void* context) {
1181   os::shutdown();
1182   if (dump_core) {








1183     ::abort(); // dump core
1184   }
1185 
1186   ::exit(1);
1187 }
1188 
1189 // Die immediately, no exit hook, no abort hook, no cleanup.
1190 // Dump a core file, if possible, for debugging.
1191 void os::die() {
1192   if (TestUnresponsiveErrorHandler && !CreateCoredumpOnCrash) {
1193     // For TimeoutInErrorHandlingTest.java, we just kill the VM
1194     // and don't take the time to generate a core file.
1195     os::signal_raise(SIGKILL);
1196   } else {
1197     ::abort();
1198   }
1199 }
1200 
1201 intx os::current_thread_id() {
1202   return (intx)pthread_self();


< prev index next >