#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"
#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
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);
}
#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
}
#endif
