binutils-gdb/gdb/testsuite/gdb.base/sigall.c
Thomas Schwinge 7964b62a37 gdb/testsuite/
* gdb.base/annota1.c [__sh__]: Remove any special-casing.
        * gdb.base/annota3.c: Likewise.
        * gdb.base/sigall.c: Likewise.
        * gdb.base/signals.c: Likewise.
        * gdb.reverse/sigall-reverse.c: Likewise.
2012-02-28 10:24:15 +00:00

1816 lines
19 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <signal.h>
#include <unistd.h>
/* Signal handlers, we set breakpoints in them to make sure that the
signals really get delivered. */
#ifdef PROTOTYPES
void
handle_ABRT (int sig)
#else
void
handle_ABRT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_HUP (int sig)
#else
void
handle_HUP (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_QUIT (int sig)
#else
void
handle_QUIT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_ILL (int sig)
#else
void
handle_ILL (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_EMT (int sig)
#else
void
handle_EMT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_FPE (int sig)
#else
void
handle_FPE (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_BUS (int sig)
#else
void
handle_BUS (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_SEGV (int sig)
#else
void
handle_SEGV (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_SYS (int sig)
#else
void
handle_SYS (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_PIPE (int sig)
#else
void
handle_PIPE (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_ALRM (int sig)
#else
void
handle_ALRM (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_URG (int sig)
#else
void
handle_URG (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_TSTP (int sig)
#else
void
handle_TSTP (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_CONT (int sig)
#else
void
handle_CONT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_CHLD (int sig)
#else
void
handle_CHLD (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_TTIN (int sig)
#else
void
handle_TTIN (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_TTOU (int sig)
#else
void
handle_TTOU (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_IO (int sig)
#else
void
handle_IO (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_XCPU (int sig)
#else
void
handle_XCPU (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_XFSZ (int sig)
#else
void
handle_XFSZ (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_VTALRM (int sig)
#else
void
handle_VTALRM (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_PROF (int sig)
#else
void
handle_PROF (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_WINCH (int sig)
#else
void
handle_WINCH (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_LOST (int sig)
#else
void
handle_LOST (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_USR1 (int sig)
#else
void
handle_USR1 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_USR2 (int sig)
#else
void
handle_USR2 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_PWR (int sig)
#else
void
handle_PWR (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_POLL (int sig)
#else
void
handle_POLL (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_WIND (int sig)
#else
void
handle_WIND (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_PHONE (int sig)
#else
void
handle_PHONE (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_WAITING (int sig)
#else
void
handle_WAITING (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_LWP (int sig)
#else
void
handle_LWP (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_DANGER (int sig)
#else
void
handle_DANGER (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_GRANT (int sig)
#else
void
handle_GRANT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_RETRACT (int sig)
#else
void
handle_RETRACT (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_MSG (int sig)
#else
void
handle_MSG (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_SOUND (int sig)
#else
void
handle_SOUND (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_SAK (int sig)
#else
void
handle_SAK (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_PRIO (int sig)
#else
void
handle_PRIO (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_33 (int sig)
#else
void
handle_33 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_34 (int sig)
#else
void
handle_34 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_35 (int sig)
#else
void
handle_35 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_36 (int sig)
#else
void
handle_36 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_37 (int sig)
#else
void
handle_37 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_38 (int sig)
#else
void
handle_38 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_39 (int sig)
#else
void
handle_39 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_40 (int sig)
#else
void
handle_40 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_41 (int sig)
#else
void
handle_41 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_42 (int sig)
#else
void
handle_42 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_43 (int sig)
#else
void
handle_43 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_44 (int sig)
#else
void
handle_44 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_45 (int sig)
#else
void
handle_45 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_46 (int sig)
#else
void
handle_46 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_47 (int sig)
#else
void
handle_47 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_48 (int sig)
#else
void
handle_48 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_49 (int sig)
#else
void
handle_49 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_50 (int sig)
#else
void
handle_50 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_51 (int sig)
#else
void
handle_51 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_52 (int sig)
#else
void
handle_52 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_53 (int sig)
#else
void
handle_53 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_54 (int sig)
#else
void
handle_54 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_55 (int sig)
#else
void
handle_55 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_56 (int sig)
#else
void
handle_56 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_57 (int sig)
#else
void
handle_57 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_58 (int sig)
#else
void
handle_58 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_59 (int sig)
#else
void
handle_59 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_60 (int sig)
#else
void
handle_60 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_61 (int sig)
#else
void
handle_61 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_62 (int sig)
#else
void
handle_62 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_63 (int sig)
#else
void
handle_63 (sig)
int sig;
#endif
{
}
#ifdef PROTOTYPES
void
handle_TERM (int sig)
#else
void
handle_TERM (sig)
int sig;
#endif
{
}
/* Functions to send signals. These also serve as markers. */
int
gen_ABRT ()
{
kill (getpid (), SIGABRT);
return 0;
}
int
gen_HUP ()
{
#ifdef SIGHUP
kill (getpid (), SIGHUP);
#else
handle_HUP (0);
#endif
return 0;
}
int
gen_QUIT ()
{
#ifdef SIGQUIT
kill (getpid (), SIGQUIT);
#else
handle_QUIT (0);
#endif
return 0;
}
int
gen_ILL ()
{
#ifdef SIGILL
kill (getpid (), SIGILL);
#else
handle_ILL (0);
#endif
return 0;
}
int
gen_EMT ()
{
#ifdef SIGEMT
kill (getpid (), SIGEMT);
#else
handle_EMT (0);
#endif
return 0;
}
int x;
int
gen_FPE ()
{
/* The intent behind generating SIGFPE this way is to check the mapping
from the CPU exception itself to the signals. It would be nice to
do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
test might turn out to be insufficiently portable. */
#if 0
/* Loses on the PA because after the signal handler executes we try to
re-execute the failing instruction again. Perhaps we could siglongjmp
out of the signal handler? */
/* The expect script looks for the word "kill"; don't delete it. */
return 5 / x; /* and we both started jumping up and down yelling kill */
#else
kill (getpid (), SIGFPE);
#endif
return 0;
}
int
gen_BUS ()
{
#ifdef SIGBUS
kill (getpid (), SIGBUS);
#else
handle_BUS (0);
#endif
return 0;
}
int
gen_SEGV ()
{
#ifdef SIGSEGV
kill (getpid (), SIGSEGV);
#else
handle_SEGV (0);
#endif
return 0;
}
int
gen_SYS ()
{
#ifdef SIGSYS
kill (getpid (), SIGSYS);
#else
handle_SYS (0);
#endif
return 0;
}
int
gen_PIPE ()
{
#ifdef SIGPIPE
kill (getpid (), SIGPIPE);
#else
handle_PIPE (0);
#endif
return 0;
}
int
gen_ALRM ()
{
#ifdef SIGALRM
kill (getpid (), SIGALRM);
#else
handle_ALRM (0);
#endif
return 0;
}
int
gen_URG ()
{
#ifdef SIGURG
kill (getpid (), SIGURG);
#else
handle_URG (0);
#endif
return 0;
}
int
gen_TSTP ()
{
#ifdef SIGTSTP
kill (getpid (), SIGTSTP);
#else
handle_TSTP (0);
#endif
return 0;
}
int
gen_CONT ()
{
#ifdef SIGCONT
kill (getpid (), SIGCONT);
#else
handle_CONT (0);
#endif
return 0;
}
int
gen_CHLD ()
{
#ifdef SIGCHLD
kill (getpid (), SIGCHLD);
#else
handle_CHLD (0);
#endif
return 0;
}
int
gen_TTIN ()
{
#ifdef SIGTTIN
kill (getpid (), SIGTTIN);
#else
handle_TTIN (0);
#endif
return 0;
}
int
gen_TTOU ()
{
#ifdef SIGTTOU
kill (getpid (), SIGTTOU);
#else
handle_TTOU (0);
#endif
return 0;
}
int
gen_IO ()
{
#ifdef SIGIO
kill (getpid (), SIGIO);
#else
handle_IO (0);
#endif
return 0;
}
int
gen_XCPU ()
{
#ifdef SIGXCPU
kill (getpid (), SIGXCPU);
#else
handle_XCPU (0);
#endif
return 0;
}
int
gen_XFSZ ()
{
#ifdef SIGXFSZ
kill (getpid (), SIGXFSZ);
#else
handle_XFSZ (0);
#endif
return 0;
}
int
gen_VTALRM ()
{
#ifdef SIGVTALRM
kill (getpid (), SIGVTALRM);
#else
handle_VTALRM (0);
#endif
return 0;
}
int
gen_PROF ()
{
#ifdef SIGPROF
kill (getpid (), SIGPROF);
#else
handle_PROF (0);
#endif
return 0;
}
int
gen_WINCH ()
{
#ifdef SIGWINCH
kill (getpid (), SIGWINCH);
#else
handle_WINCH (0);
#endif
return 0;
}
int
gen_LOST ()
{
#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
kill (getpid (), SIGLOST);
#else
handle_LOST (0);
#endif
return 0;
}
int
gen_USR1 ()
{
#ifdef SIGUSR1
kill (getpid (), SIGUSR1);
#else
handle_USR1 (0);
#endif
return 0;
}
int
gen_USR2 ()
{
#ifdef SIGUSR2
kill (getpid (), SIGUSR2);
#else
handle_USR2 (0);
#endif
return 0;
}
int
gen_PWR ()
{
#ifdef SIGPWR
kill (getpid (), SIGPWR);
#else
handle_PWR (0);
#endif
return 0;
}
int
gen_POLL ()
{
#if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
kill (getpid (), SIGPOLL);
#else
handle_POLL (0);
#endif
return 0;
}
int
gen_WIND ()
{
#ifdef SIGWIND
kill (getpid (), SIGWIND);
#else
handle_WIND (0);
#endif
return 0;
}
int
gen_PHONE ()
{
#ifdef SIGPHONE
kill (getpid (), SIGPHONE);
#else
handle_PHONE (0);
#endif
return 0;
}
int
gen_WAITING ()
{
#ifdef SIGWAITING
kill (getpid (), SIGWAITING);
#else
handle_WAITING (0);
#endif
return 0;
}
int
gen_LWP ()
{
#ifdef SIGLWP
kill (getpid (), SIGLWP);
#else
handle_LWP (0);
#endif
return 0;
}
int
gen_DANGER ()
{
#ifdef SIGDANGER
kill (getpid (), SIGDANGER);
#else
handle_DANGER (0);
#endif
return 0;
}
int
gen_GRANT ()
{
#ifdef SIGGRANT
kill (getpid (), SIGGRANT);
#else
handle_GRANT (0);
#endif
return 0;
}
int
gen_RETRACT ()
{
#ifdef SIGRETRACT
kill (getpid (), SIGRETRACT);
#else
handle_RETRACT (0);
#endif
return 0;
}
int
gen_MSG ()
{
#ifdef SIGMSG
kill (getpid (), SIGMSG);
#else
handle_MSG (0);
#endif
return 0;
}
int
gen_SOUND ()
{
#ifdef SIGSOUND
kill (getpid (), SIGSOUND);
#else
handle_SOUND (0);
#endif
return 0;
}
int
gen_SAK ()
{
#ifdef SIGSAK
kill (getpid (), SIGSAK);
#else
handle_SAK (0);
#endif
return 0;
}
int
gen_PRIO ()
{
#ifdef SIGPRIO
kill (getpid (), SIGPRIO);
#else
handle_PRIO (0);
#endif
return 0;
}
int
gen_33 ()
{
#ifdef SIG33
kill (getpid (), 33);
#else
handle_33 (0);
#endif
return 0;
}
int
gen_34 ()
{
#ifdef SIG34
kill (getpid (), 34);
#else
handle_34 (0);
#endif
return 0;
}
int
gen_35 ()
{
#ifdef SIG35
kill (getpid (), 35);
#else
handle_35 (0);
#endif
return 0;
}
int
gen_36 ()
{
#ifdef SIG36
kill (getpid (), 36);
#else
handle_36 (0);
#endif
return 0;
}
int
gen_37 ()
{
#ifdef SIG37
kill (getpid (), 37);
#else
handle_37 (0);
#endif
return 0;
}
int
gen_38 ()
{
#ifdef SIG38
kill (getpid (), 38);
#else
handle_38 (0);
#endif
return 0;
}
int
gen_39 ()
{
#ifdef SIG39
kill (getpid (), 39);
#else
handle_39 (0);
#endif
return 0;
}
int
gen_40 ()
{
#ifdef SIG40
kill (getpid (), 40);
#else
handle_40 (0);
#endif
return 0;
}
int
gen_41 ()
{
#ifdef SIG41
kill (getpid (), 41);
#else
handle_41 (0);
#endif
return 0;
}
int
gen_42 ()
{
#ifdef SIG42
kill (getpid (), 42);
#else
handle_42 (0);
#endif
return 0;
}
int
gen_43 ()
{
#ifdef SIG43
kill (getpid (), 43);
#else
handle_43 (0);
#endif
return 0;
}
int
gen_44 ()
{
#ifdef SIG44
kill (getpid (), 44);
#else
handle_44 (0);
#endif
return 0;
}
int
gen_45 ()
{
#ifdef SIG45
kill (getpid (), 45);
#else
handle_45 (0);
#endif
return 0;
}
int
gen_46 ()
{
#ifdef SIG46
kill (getpid (), 46);
#else
handle_46 (0);
#endif
return 0;
}
int
gen_47 ()
{
#ifdef SIG47
kill (getpid (), 47);
#else
handle_47 (0);
#endif
return 0;
}
int
gen_48 ()
{
#ifdef SIG48
kill (getpid (), 48);
#else
handle_48 (0);
#endif
return 0;
}
int
gen_49 ()
{
#ifdef SIG49
kill (getpid (), 49);
#else
handle_49 (0);
#endif
return 0;
}
int
gen_50 ()
{
#ifdef SIG50
kill (getpid (), 50);
#else
handle_50 (0);
#endif
return 0;
}
int
gen_51 ()
{
#ifdef SIG51
kill (getpid (), 51);
#else
handle_51 (0);
#endif
return 0;
}
int
gen_52 ()
{
#ifdef SIG52
kill (getpid (), 52);
#else
handle_52 (0);
#endif
return 0;
}
int
gen_53 ()
{
#ifdef SIG53
kill (getpid (), 53);
#else
handle_53 (0);
#endif
return 0;
}
int
gen_54 ()
{
#ifdef SIG54
kill (getpid (), 54);
#else
handle_54 (0);
#endif
return 0;
}
int
gen_55 ()
{
#ifdef SIG55
kill (getpid (), 55);
#else
handle_55 (0);
#endif
return 0;
}
int
gen_56 ()
{
#ifdef SIG56
kill (getpid (), 56);
#else
handle_56 (0);
#endif
return 0;
}
int
gen_57 ()
{
#ifdef SIG57
kill (getpid (), 57);
#else
handle_57 (0);
#endif
return 0;
}
int
gen_58 ()
{
#ifdef SIG58
kill (getpid (), 58);
#else
handle_58 (0);
#endif
return 0;
}
int
gen_59 ()
{
#ifdef SIG59
kill (getpid (), 59);
#else
handle_59 (0);
#endif
return 0;
}
int
gen_60 ()
{
#ifdef SIG60
kill (getpid (), 60);
#else
handle_60 (0);
#endif
return 0;
}
int
gen_61 ()
{
#ifdef SIG61
kill (getpid (), 61);
#else
handle_61 (0);
#endif
return 0;
}
int
gen_62 ()
{
#ifdef SIG62
kill (getpid (), 62);
#else
handle_62 (0);
#endif
return 0;
}
int
gen_63 ()
{
#ifdef SIG63
kill (getpid (), 63);
#else
handle_63 (0);
#endif
return 0;
}
int
gen_TERM ()
{
kill (getpid (), SIGTERM);
return 0;
}
int
main ()
{
#ifdef SIG_SETMASK
/* Ensure all the signals aren't blocked.
The environment in which the testsuite is run may have blocked some
for whatever reason. */
{
sigset_t newset;
sigemptyset (&newset);
sigprocmask (SIG_SETMASK, &newset, NULL);
}
#endif
signal (SIGABRT, handle_ABRT);
#ifdef SIGHUP
signal (SIGHUP, handle_HUP);
#endif
#ifdef SIGQUIT
signal (SIGQUIT, handle_QUIT);
#endif
#ifdef SIGILL
signal (SIGILL, handle_ILL);
#endif
#ifdef SIGEMT
signal (SIGEMT, handle_EMT);
#endif
#ifdef SIGFPE
signal (SIGFPE, handle_FPE);
#endif
#ifdef SIGBUS
signal (SIGBUS, handle_BUS);
#endif
#ifdef SIGSEGV
signal (SIGSEGV, handle_SEGV);
#endif
#ifdef SIGSYS
signal (SIGSYS, handle_SYS);
#endif
#ifdef SIGPIPE
signal (SIGPIPE, handle_PIPE);
#endif
#ifdef SIGALRM
signal (SIGALRM, handle_ALRM);
#endif
#ifdef SIGURG
signal (SIGURG, handle_URG);
#endif
#ifdef SIGTSTP
signal (SIGTSTP, handle_TSTP);
#endif
#ifdef SIGCONT
signal (SIGCONT, handle_CONT);
#endif
#ifdef SIGCHLD
signal (SIGCHLD, handle_CHLD);
#endif
#ifdef SIGTTIN
signal (SIGTTIN, handle_TTIN);
#endif
#ifdef SIGTTOU
signal (SIGTTOU, handle_TTOU);
#endif
#ifdef SIGIO
signal (SIGIO, handle_IO);
#endif
#ifdef SIGXCPU
signal (SIGXCPU, handle_XCPU);
#endif
#ifdef SIGXFSZ
signal (SIGXFSZ, handle_XFSZ);
#endif
#ifdef SIGVTALRM
signal (SIGVTALRM, handle_VTALRM);
#endif
#ifdef SIGPROF
signal (SIGPROF, handle_PROF);
#endif
#ifdef SIGWINCH
signal (SIGWINCH, handle_WINCH);
#endif
#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
signal (SIGLOST, handle_LOST);
#endif
#ifdef SIGUSR1
signal (SIGUSR1, handle_USR1);
#endif
#ifdef SIGUSR2
signal (SIGUSR2, handle_USR2);
#endif
#ifdef SIGPWR
signal (SIGPWR, handle_PWR);
#endif
#if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
signal (SIGPOLL, handle_POLL);
#endif
#ifdef SIGWIND
signal (SIGWIND, handle_WIND);
#endif
#ifdef SIGPHONE
signal (SIGPHONE, handle_PHONE);
#endif
#ifdef SIGWAITING
signal (SIGWAITING, handle_WAITING);
#endif
#ifdef SIGLWP
signal (SIGLWP, handle_LWP);
#endif
#ifdef SIGDANGER
signal (SIGDANGER, handle_DANGER);
#endif
#ifdef SIGGRANT
signal (SIGGRANT, handle_GRANT);
#endif
#ifdef SIGRETRACT
signal (SIGRETRACT, handle_RETRACT);
#endif
#ifdef SIGMSG
signal (SIGMSG, handle_MSG);
#endif
#ifdef SIGSOUND
signal (SIGSOUND, handle_SOUND);
#endif
#ifdef SIGSAK
signal (SIGSAK, handle_SAK);
#endif
#ifdef SIGPRIO
signal (SIGPRIO, handle_PRIO);
#endif
#ifdef __Lynx__
/* Lynx doesn't seem to have anything in signal.h for this. */
signal (33, handle_33);
signal (34, handle_34);
signal (35, handle_35);
signal (36, handle_36);
signal (37, handle_37);
signal (38, handle_38);
signal (39, handle_39);
signal (40, handle_40);
signal (41, handle_41);
signal (42, handle_42);
signal (43, handle_43);
signal (44, handle_44);
signal (45, handle_45);
signal (46, handle_46);
signal (47, handle_47);
signal (48, handle_48);
signal (49, handle_49);
signal (50, handle_50);
signal (51, handle_51);
signal (52, handle_52);
signal (53, handle_53);
signal (54, handle_54);
signal (55, handle_55);
signal (56, handle_56);
signal (57, handle_57);
signal (58, handle_58);
signal (59, handle_59);
signal (60, handle_60);
signal (61, handle_61);
signal (62, handle_62);
signal (63, handle_63);
#endif /* lynx */
signal (SIGTERM, handle_TERM);
x = 0;
gen_ABRT ();
gen_HUP ();
gen_QUIT ();
gen_ILL ();
gen_EMT ();
gen_FPE ();
gen_BUS ();
gen_SEGV ();
gen_SYS ();
gen_PIPE ();
gen_ALRM ();
gen_URG ();
gen_TSTP ();
gen_CONT ();
gen_CHLD ();
gen_TTIN ();
gen_TTOU ();
gen_IO ();
gen_XCPU ();
gen_XFSZ ();
gen_VTALRM ();
gen_PROF ();
gen_WINCH ();
gen_LOST ();
gen_USR1 ();
gen_USR2 ();
gen_PWR ();
gen_POLL ();
gen_WIND ();
gen_PHONE ();
gen_WAITING ();
gen_LWP ();
gen_DANGER ();
gen_GRANT ();
gen_RETRACT ();
gen_MSG ();
gen_SOUND ();
gen_SAK ();
gen_PRIO ();
gen_33 ();
gen_34 ();
gen_35 ();
gen_36 ();
gen_37 ();
gen_38 ();
gen_39 ();
gen_40 ();
gen_41 ();
gen_42 ();
gen_43 ();
gen_44 ();
gen_45 ();
gen_46 ();
gen_47 ();
gen_48 ();
gen_49 ();
gen_50 ();
gen_51 ();
gen_52 ();
gen_53 ();
gen_54 ();
gen_55 ();
gen_56 ();
gen_57 ();
gen_58 ();
gen_59 ();
gen_60 ();
gen_61 ();
gen_62 ();
gen_63 ();
gen_TERM ();
return 0;
}