#include "stdio.h" #include "signal.h" #ifndef SIGIOT #define SIGIOT SIGABRT #endif #ifdef KR_headers void sig_die(s, kill) register char *s; int kill; #else #include "stdlib.h" #ifdef __cplusplus extern "C" { #endif extern void f_exit(void); void sig_die(register char *s, int kill) #endif { /* print error message, then clear buffers */ fprintf(stderr, "%s\n", s); fflush(stderr); f_exit(); fflush(stderr); if(kill) { /* now get a core */ signal(SIGIOT, SIG_DFL); abort(); } else exit(1); } #ifdef __cplusplus } #endif