home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / f2c / f77lib / sig_die.c < prev    next >
C/C++ Source or Header  |  2000-06-22  |  547b  |  38 lines

  1. #include "stdio.h"
  2. #include "signal.h"
  3.  
  4. #ifndef SIGIOT
  5. #define SIGIOT SIGABRT
  6. #endif
  7.  
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #ifdef KR_headers
  12. void sig_die(s, kill) register char *s; int kill;
  13. #else
  14. #include "stdlib.h"
  15.  extern void f_exit(void);
  16.  
  17. void sig_die(register char *s, int kill)
  18. #endif
  19. {
  20.     /* print error message, then clear buffers */
  21.     fprintf(stderr, "%s\n", s);
  22.     fflush(stderr);
  23.     f_exit();
  24.     fflush(stderr);
  25.  
  26.     if(kill)
  27.         {
  28.         /* now get a core */
  29.         signal(SIGIOT, SIG_DFL);
  30.         abort();
  31.         }
  32.     else
  33.         exit(1);
  34.     }
  35. #ifdef __cplusplus
  36.     }
  37. #endif
  38.