static void act_sig_handle_segv(int sig_num, siginfo_t* info, void* ctx) { fprintf(stdout, "SIGSEGV received\n"); PRINT_BACKTRACE(); reraise_signal(sig_num); }
// Floating point exception. void as_sig_handle_fpe(int sig_num) { cf_warning(AS_AS, "SIGFPE received, aborting %s build %s", aerospike_build_type, aerospike_build_id); PRINT_STACK(); reraise_signal(sig_num, as_sig_handle_fpe); }
// We get here if we intentionally trigger the signal. void as_sig_handle_quit(int sig_num) { cf_warning(AS_AS, "SIGQUIT received, aborting %s build %s os %s", aerospike_build_type, aerospike_build_id, aerospike_build_os); PRINT_STACK(); reraise_signal(sig_num, as_sig_handle_quit); }
// We get here on some crashes. void as_sig_handle_segv(int sig_num) { cf_warning(AS_AS, "SIGSEGV received, aborting %s build %s os %s", aerospike_build_type, aerospike_build_id, aerospike_build_os); xdr_sig_handler(sig_num); PRINT_STACK(); reraise_signal(sig_num, as_sig_handle_segv); }