1
/* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */
33
extern void f_exit(void);
36
extern int atexit(void (*)(void));
47
extern VOID f_init(), sig_die();
51
extern void f_init(void), sig_die(char*, int);
52
extern int MAIN__(void);
56
static VOID sigfdie(Sigarg)
59
sig_die("Floating Exception", 1);
63
static VOID sigidie(Sigarg)
66
sig_die("IOT Trap", 1);
70
static VOID sigqdie(Sigarg)
73
sig_die("Quit signal", 1);
78
static VOID sigindie(Sigarg)
81
sig_die("Interrupt", 0);
84
static VOID sigtdie(Sigarg)
91
static VOID sigtrdie(Sigarg)
94
sig_die("Trace trap", 1);
107
main(argc, argv) int argc; char **argv;
109
main(int argc, char **argv)
114
signal1(SIGFPE, sigfdie); /* ignore underflow, enable overflow */
116
signal1(SIGIOT, sigidie);
119
signal1(SIGTRAP, sigtrdie);
122
if(signal1(SIGQUIT,sigqdie) == SIG_IGN)
123
signal1(SIGQUIT, SIG_IGN);
125
if(signal1(SIGINT, sigindie) == SIG_IGN)
126
signal1(SIGINT, SIG_IGN);
127
signal1(SIGTERM,sigtdie);
130
ldfps(01200); /* detect overflow as an exception */
141
exit(0); /* exit(0) rather than return(0) to bypass Cray bug */
142
return 0; /* For compilers that complain of missing return values; */
143
/* others will complain that this is unreachable code. */