166e63ce3Schristos #include <signal.h>
266e63ce3Schristos #include <unistd.h>
366e63ce3Schristos 
466e63ce3Schristos 
566e63ce3Schristos /* Signal handlers, we set breakpoints in them to make sure that the
666e63ce3Schristos    signals really get delivered.  */
766e63ce3Schristos 
866e63ce3Schristos void
handle_ABRT(int sig)966e63ce3Schristos handle_ABRT (int sig)
1066e63ce3Schristos {
1166e63ce3Schristos }
1266e63ce3Schristos 
1366e63ce3Schristos void
handle_HUP(int sig)1466e63ce3Schristos handle_HUP (int sig)
1566e63ce3Schristos {
1666e63ce3Schristos }
1766e63ce3Schristos 
1866e63ce3Schristos void
handle_QUIT(int sig)1966e63ce3Schristos handle_QUIT (int sig)
2066e63ce3Schristos {
2166e63ce3Schristos }
2266e63ce3Schristos 
2366e63ce3Schristos void
handle_ILL(int sig)2466e63ce3Schristos handle_ILL (int sig)
2566e63ce3Schristos {
2666e63ce3Schristos }
2766e63ce3Schristos 
2866e63ce3Schristos void
handle_EMT(int sig)2966e63ce3Schristos handle_EMT (int sig)
3066e63ce3Schristos {
3166e63ce3Schristos }
3266e63ce3Schristos 
3366e63ce3Schristos void
handle_FPE(int sig)3466e63ce3Schristos handle_FPE (int sig)
3566e63ce3Schristos {
3666e63ce3Schristos }
3766e63ce3Schristos 
3866e63ce3Schristos void
handle_BUS(int sig)3966e63ce3Schristos handle_BUS (int sig)
4066e63ce3Schristos {
4166e63ce3Schristos }
4266e63ce3Schristos 
4366e63ce3Schristos void
handle_SEGV(int sig)4466e63ce3Schristos handle_SEGV (int sig)
4566e63ce3Schristos {
4666e63ce3Schristos }
4766e63ce3Schristos 
4866e63ce3Schristos void
handle_SYS(int sig)4966e63ce3Schristos handle_SYS (int sig)
5066e63ce3Schristos {
5166e63ce3Schristos }
5266e63ce3Schristos 
5366e63ce3Schristos void
handle_PIPE(int sig)5466e63ce3Schristos handle_PIPE (int sig)
5566e63ce3Schristos {
5666e63ce3Schristos }
5766e63ce3Schristos 
5866e63ce3Schristos void
handle_ALRM(int sig)5966e63ce3Schristos handle_ALRM (int sig)
6066e63ce3Schristos {
6166e63ce3Schristos }
6266e63ce3Schristos 
6366e63ce3Schristos void
handle_URG(int sig)6466e63ce3Schristos handle_URG (int sig)
6566e63ce3Schristos {
6666e63ce3Schristos }
6766e63ce3Schristos 
6866e63ce3Schristos void
handle_TSTP(int sig)6966e63ce3Schristos handle_TSTP (int sig)
7066e63ce3Schristos {
7166e63ce3Schristos }
7266e63ce3Schristos 
7366e63ce3Schristos void
handle_CONT(int sig)7466e63ce3Schristos handle_CONT (int sig)
7566e63ce3Schristos {
7666e63ce3Schristos }
7766e63ce3Schristos 
7866e63ce3Schristos void
handle_CHLD(int sig)7966e63ce3Schristos handle_CHLD (int sig)
8066e63ce3Schristos {
8166e63ce3Schristos }
8266e63ce3Schristos 
8366e63ce3Schristos void
handle_TTIN(int sig)8466e63ce3Schristos handle_TTIN (int sig)
8566e63ce3Schristos {
8666e63ce3Schristos }
8766e63ce3Schristos 
8866e63ce3Schristos void
handle_TTOU(int sig)8966e63ce3Schristos handle_TTOU (int sig)
9066e63ce3Schristos {
9166e63ce3Schristos }
9266e63ce3Schristos 
9366e63ce3Schristos void
handle_IO(int sig)9466e63ce3Schristos handle_IO (int sig)
9566e63ce3Schristos {
9666e63ce3Schristos }
9766e63ce3Schristos 
9866e63ce3Schristos void
handle_XCPU(int sig)9966e63ce3Schristos handle_XCPU (int sig)
10066e63ce3Schristos {
10166e63ce3Schristos }
10266e63ce3Schristos 
10366e63ce3Schristos void
handle_XFSZ(int sig)10466e63ce3Schristos handle_XFSZ (int sig)
10566e63ce3Schristos {
10666e63ce3Schristos }
10766e63ce3Schristos 
10866e63ce3Schristos void
handle_VTALRM(int sig)10966e63ce3Schristos handle_VTALRM (int sig)
11066e63ce3Schristos {
11166e63ce3Schristos }
11266e63ce3Schristos 
11366e63ce3Schristos void
handle_PROF(int sig)11466e63ce3Schristos handle_PROF (int sig)
11566e63ce3Schristos {
11666e63ce3Schristos }
11766e63ce3Schristos 
11866e63ce3Schristos void
handle_WINCH(int sig)11966e63ce3Schristos handle_WINCH (int sig)
12066e63ce3Schristos {
12166e63ce3Schristos }
12266e63ce3Schristos 
12366e63ce3Schristos void
handle_LOST(int sig)12466e63ce3Schristos handle_LOST (int sig)
12566e63ce3Schristos {
12666e63ce3Schristos }
12766e63ce3Schristos 
12866e63ce3Schristos void
handle_USR1(int sig)12966e63ce3Schristos handle_USR1 (int sig)
13066e63ce3Schristos {
13166e63ce3Schristos }
13266e63ce3Schristos 
13366e63ce3Schristos void
handle_USR2(int sig)13466e63ce3Schristos handle_USR2 (int sig)
13566e63ce3Schristos {
13666e63ce3Schristos }
13766e63ce3Schristos 
13866e63ce3Schristos void
handle_PWR(int sig)13966e63ce3Schristos handle_PWR (int sig)
14066e63ce3Schristos {
14166e63ce3Schristos }
14266e63ce3Schristos 
14366e63ce3Schristos void
handle_POLL(int sig)14466e63ce3Schristos handle_POLL (int sig)
14566e63ce3Schristos {
14666e63ce3Schristos }
14766e63ce3Schristos 
14866e63ce3Schristos void
handle_WIND(int sig)14966e63ce3Schristos handle_WIND (int sig)
15066e63ce3Schristos {
15166e63ce3Schristos }
15266e63ce3Schristos 
15366e63ce3Schristos void
handle_PHONE(int sig)15466e63ce3Schristos handle_PHONE (int sig)
15566e63ce3Schristos {
15666e63ce3Schristos }
15766e63ce3Schristos 
15866e63ce3Schristos void
handle_WAITING(int sig)15966e63ce3Schristos handle_WAITING (int sig)
16066e63ce3Schristos {
16166e63ce3Schristos }
16266e63ce3Schristos 
16366e63ce3Schristos void
handle_LWP(int sig)16466e63ce3Schristos handle_LWP (int sig)
16566e63ce3Schristos {
16666e63ce3Schristos }
16766e63ce3Schristos 
16866e63ce3Schristos void
handle_DANGER(int sig)16966e63ce3Schristos handle_DANGER (int sig)
17066e63ce3Schristos {
17166e63ce3Schristos }
17266e63ce3Schristos 
17366e63ce3Schristos void
handle_GRANT(int sig)17466e63ce3Schristos handle_GRANT (int sig)
17566e63ce3Schristos {
17666e63ce3Schristos }
17766e63ce3Schristos 
17866e63ce3Schristos void
handle_RETRACT(int sig)17966e63ce3Schristos handle_RETRACT (int sig)
18066e63ce3Schristos {
18166e63ce3Schristos }
18266e63ce3Schristos 
18366e63ce3Schristos void
handle_MSG(int sig)18466e63ce3Schristos handle_MSG (int sig)
18566e63ce3Schristos {
18666e63ce3Schristos }
18766e63ce3Schristos 
18866e63ce3Schristos void
handle_SOUND(int sig)18966e63ce3Schristos handle_SOUND (int sig)
19066e63ce3Schristos {
19166e63ce3Schristos }
19266e63ce3Schristos 
19366e63ce3Schristos void
handle_SAK(int sig)19466e63ce3Schristos handle_SAK (int sig)
19566e63ce3Schristos {
19666e63ce3Schristos }
19766e63ce3Schristos 
19866e63ce3Schristos void
handle_PRIO(int sig)19966e63ce3Schristos handle_PRIO (int sig)
20066e63ce3Schristos {
20166e63ce3Schristos }
20266e63ce3Schristos 
20366e63ce3Schristos void
handle_33(int sig)20466e63ce3Schristos handle_33 (int sig)
20566e63ce3Schristos {
20666e63ce3Schristos }
20766e63ce3Schristos 
20866e63ce3Schristos void
handle_34(int sig)20966e63ce3Schristos handle_34 (int sig)
21066e63ce3Schristos {
21166e63ce3Schristos }
21266e63ce3Schristos 
21366e63ce3Schristos void
handle_35(int sig)21466e63ce3Schristos handle_35 (int sig)
21566e63ce3Schristos {
21666e63ce3Schristos }
21766e63ce3Schristos 
21866e63ce3Schristos void
handle_36(int sig)21966e63ce3Schristos handle_36 (int sig)
22066e63ce3Schristos {
22166e63ce3Schristos }
22266e63ce3Schristos 
22366e63ce3Schristos void
handle_37(int sig)22466e63ce3Schristos handle_37 (int sig)
22566e63ce3Schristos {
22666e63ce3Schristos }
22766e63ce3Schristos 
22866e63ce3Schristos void
handle_38(int sig)22966e63ce3Schristos handle_38 (int sig)
23066e63ce3Schristos {
23166e63ce3Schristos }
23266e63ce3Schristos 
23366e63ce3Schristos void
handle_39(int sig)23466e63ce3Schristos handle_39 (int sig)
23566e63ce3Schristos {
23666e63ce3Schristos }
23766e63ce3Schristos 
23866e63ce3Schristos void
handle_40(int sig)23966e63ce3Schristos handle_40 (int sig)
24066e63ce3Schristos {
24166e63ce3Schristos }
24266e63ce3Schristos 
24366e63ce3Schristos void
handle_41(int sig)24466e63ce3Schristos handle_41 (int sig)
24566e63ce3Schristos {
24666e63ce3Schristos }
24766e63ce3Schristos 
24866e63ce3Schristos void
handle_42(int sig)24966e63ce3Schristos handle_42 (int sig)
25066e63ce3Schristos {
25166e63ce3Schristos }
25266e63ce3Schristos 
25366e63ce3Schristos void
handle_43(int sig)25466e63ce3Schristos handle_43 (int sig)
25566e63ce3Schristos {
25666e63ce3Schristos }
25766e63ce3Schristos 
25866e63ce3Schristos void
handle_44(int sig)25966e63ce3Schristos handle_44 (int sig)
26066e63ce3Schristos {
26166e63ce3Schristos }
26266e63ce3Schristos 
26366e63ce3Schristos void
handle_45(int sig)26466e63ce3Schristos handle_45 (int sig)
26566e63ce3Schristos {
26666e63ce3Schristos }
26766e63ce3Schristos 
26866e63ce3Schristos void
handle_46(int sig)26966e63ce3Schristos handle_46 (int sig)
27066e63ce3Schristos {
27166e63ce3Schristos }
27266e63ce3Schristos 
27366e63ce3Schristos void
handle_47(int sig)27466e63ce3Schristos handle_47 (int sig)
27566e63ce3Schristos {
27666e63ce3Schristos }
27766e63ce3Schristos 
27866e63ce3Schristos void
handle_48(int sig)27966e63ce3Schristos handle_48 (int sig)
28066e63ce3Schristos {
28166e63ce3Schristos }
28266e63ce3Schristos 
28366e63ce3Schristos void
handle_49(int sig)28466e63ce3Schristos handle_49 (int sig)
28566e63ce3Schristos {
28666e63ce3Schristos }
28766e63ce3Schristos 
28866e63ce3Schristos void
handle_50(int sig)28966e63ce3Schristos handle_50 (int sig)
29066e63ce3Schristos {
29166e63ce3Schristos }
29266e63ce3Schristos 
29366e63ce3Schristos void
handle_51(int sig)29466e63ce3Schristos handle_51 (int sig)
29566e63ce3Schristos {
29666e63ce3Schristos }
29766e63ce3Schristos 
29866e63ce3Schristos void
handle_52(int sig)29966e63ce3Schristos handle_52 (int sig)
30066e63ce3Schristos {
30166e63ce3Schristos }
30266e63ce3Schristos 
30366e63ce3Schristos void
handle_53(int sig)30466e63ce3Schristos handle_53 (int sig)
30566e63ce3Schristos {
30666e63ce3Schristos }
30766e63ce3Schristos 
30866e63ce3Schristos void
handle_54(int sig)30966e63ce3Schristos handle_54 (int sig)
31066e63ce3Schristos {
31166e63ce3Schristos }
31266e63ce3Schristos 
31366e63ce3Schristos void
handle_55(int sig)31466e63ce3Schristos handle_55 (int sig)
31566e63ce3Schristos {
31666e63ce3Schristos }
31766e63ce3Schristos 
31866e63ce3Schristos void
handle_56(int sig)31966e63ce3Schristos handle_56 (int sig)
32066e63ce3Schristos {
32166e63ce3Schristos }
32266e63ce3Schristos 
32366e63ce3Schristos void
handle_57(int sig)32466e63ce3Schristos handle_57 (int sig)
32566e63ce3Schristos {
32666e63ce3Schristos }
32766e63ce3Schristos 
32866e63ce3Schristos void
handle_58(int sig)32966e63ce3Schristos handle_58 (int sig)
33066e63ce3Schristos {
33166e63ce3Schristos }
33266e63ce3Schristos 
33366e63ce3Schristos void
handle_59(int sig)33466e63ce3Schristos handle_59 (int sig)
33566e63ce3Schristos {
33666e63ce3Schristos }
33766e63ce3Schristos 
33866e63ce3Schristos void
handle_60(int sig)33966e63ce3Schristos handle_60 (int sig)
34066e63ce3Schristos {
34166e63ce3Schristos }
34266e63ce3Schristos 
34366e63ce3Schristos void
handle_61(int sig)34466e63ce3Schristos handle_61 (int sig)
34566e63ce3Schristos {
34666e63ce3Schristos }
34766e63ce3Schristos 
34866e63ce3Schristos void
handle_62(int sig)34966e63ce3Schristos handle_62 (int sig)
35066e63ce3Schristos {
35166e63ce3Schristos }
35266e63ce3Schristos 
35366e63ce3Schristos void
handle_63(int sig)35466e63ce3Schristos handle_63 (int sig)
35566e63ce3Schristos {
35666e63ce3Schristos }
35766e63ce3Schristos 
35866e63ce3Schristos void
handle_TERM(int sig)35966e63ce3Schristos handle_TERM (int sig)
36066e63ce3Schristos {
36166e63ce3Schristos }
36266e63ce3Schristos 
363*26a53354Schristos /* Functions to send signals.  These also serve as markers.
364*26a53354Schristos    Ordered ANSI-standard signals first, other signals second,
365*26a53354Schristos    with signals in each block ordered by their numerical values
366*26a53354Schristos    on a typical POSIX platform.  */
36766e63ce3Schristos 
368*26a53354Schristos /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
369*26a53354Schristos    are ANSI-standard signals and are always available.  */
37066e63ce3Schristos 
37166e63ce3Schristos int
gen_ILL()37266e63ce3Schristos gen_ILL ()
37366e63ce3Schristos {
37466e63ce3Schristos   kill (getpid (), SIGILL);
37566e63ce3Schristos   return 0;
37666e63ce3Schristos }
37766e63ce3Schristos 
37866e63ce3Schristos int
gen_ABRT()379*26a53354Schristos gen_ABRT ()
38066e63ce3Schristos {
381*26a53354Schristos   kill (getpid (), SIGABRT);
38266e63ce3Schristos   return 0;
38366e63ce3Schristos }
38466e63ce3Schristos 
38566e63ce3Schristos int x;
38666e63ce3Schristos 
38766e63ce3Schristos int
gen_FPE()38866e63ce3Schristos gen_FPE ()
38966e63ce3Schristos {
39066e63ce3Schristos   /* The intent behind generating SIGFPE this way is to check the mapping
39166e63ce3Schristos      from the CPU exception itself to the signals.  It would be nice to
39266e63ce3Schristos      do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
39366e63ce3Schristos      test might turn out to be insufficiently portable.  */
39466e63ce3Schristos 
39566e63ce3Schristos #if 0
39666e63ce3Schristos   /* Loses on the PA because after the signal handler executes we try to
39766e63ce3Schristos      re-execute the failing instruction again.  Perhaps we could siglongjmp
39866e63ce3Schristos      out of the signal handler?  */
39966e63ce3Schristos   /* The expect script looks for the word "kill"; don't delete it.  */
40066e63ce3Schristos   return 5 / x; /* and we both started jumping up and down yelling kill */
40166e63ce3Schristos #else
40266e63ce3Schristos   kill (getpid (), SIGFPE);
40366e63ce3Schristos #endif
40466e63ce3Schristos   return 0;
40566e63ce3Schristos }
40666e63ce3Schristos 
40766e63ce3Schristos int
gen_SEGV()408*26a53354Schristos gen_SEGV ()
409*26a53354Schristos {
410*26a53354Schristos   kill (getpid (), SIGSEGV);
411*26a53354Schristos   return 0;
412*26a53354Schristos }
413*26a53354Schristos 
414*26a53354Schristos int
gen_TERM()415*26a53354Schristos gen_TERM ()
416*26a53354Schristos {
417*26a53354Schristos   kill (getpid (), SIGTERM);
418*26a53354Schristos   return 0;
419*26a53354Schristos }
420*26a53354Schristos 
421*26a53354Schristos /* All other signals need preprocessor conditionals.  */
422*26a53354Schristos 
423*26a53354Schristos int
gen_HUP()424*26a53354Schristos gen_HUP ()
425*26a53354Schristos {
426*26a53354Schristos #ifdef SIGHUP
427*26a53354Schristos   kill (getpid (), SIGHUP);
428*26a53354Schristos #else
429*26a53354Schristos   handle_HUP (0);
430*26a53354Schristos #endif
431*26a53354Schristos return 0;
432*26a53354Schristos }
433*26a53354Schristos 
434*26a53354Schristos int
gen_QUIT()435*26a53354Schristos gen_QUIT ()
436*26a53354Schristos {
437*26a53354Schristos #ifdef SIGQUIT
438*26a53354Schristos   kill (getpid (), SIGQUIT);
439*26a53354Schristos #else
440*26a53354Schristos   handle_QUIT (0);
441*26a53354Schristos #endif
442*26a53354Schristos return 0;
443*26a53354Schristos }
444*26a53354Schristos 
445*26a53354Schristos int
gen_EMT()446*26a53354Schristos gen_EMT ()
447*26a53354Schristos {
448*26a53354Schristos #ifdef SIGEMT
449*26a53354Schristos   kill (getpid (), SIGEMT);
450*26a53354Schristos #else
451*26a53354Schristos   handle_EMT (0);
452*26a53354Schristos #endif
453*26a53354Schristos return 0;
454*26a53354Schristos }
455*26a53354Schristos 
456*26a53354Schristos int
gen_BUS()45766e63ce3Schristos gen_BUS ()
45866e63ce3Schristos {
45966e63ce3Schristos #ifdef SIGBUS
46066e63ce3Schristos   kill (getpid (), SIGBUS);
46166e63ce3Schristos #else
46266e63ce3Schristos   handle_BUS (0);
46366e63ce3Schristos #endif
46466e63ce3Schristos return 0;
46566e63ce3Schristos }
46666e63ce3Schristos 
46766e63ce3Schristos int
gen_SYS()46866e63ce3Schristos gen_SYS ()
46966e63ce3Schristos {
47066e63ce3Schristos #ifdef SIGSYS
47166e63ce3Schristos   kill (getpid (), SIGSYS);
47266e63ce3Schristos #else
47366e63ce3Schristos   handle_SYS (0);
47466e63ce3Schristos #endif
47566e63ce3Schristos return 0;
47666e63ce3Schristos }
47766e63ce3Schristos 
47866e63ce3Schristos int
gen_PIPE()47966e63ce3Schristos gen_PIPE ()
48066e63ce3Schristos {
48166e63ce3Schristos #ifdef SIGPIPE
48266e63ce3Schristos   kill (getpid (), SIGPIPE);
48366e63ce3Schristos #else
48466e63ce3Schristos   handle_PIPE (0);
48566e63ce3Schristos #endif
48666e63ce3Schristos return 0;
48766e63ce3Schristos }
48866e63ce3Schristos 
48966e63ce3Schristos int
gen_ALRM()49066e63ce3Schristos gen_ALRM ()
49166e63ce3Schristos {
49266e63ce3Schristos #ifdef SIGALRM
49366e63ce3Schristos   kill (getpid (), SIGALRM);
49466e63ce3Schristos #else
49566e63ce3Schristos   handle_ALRM (0);
49666e63ce3Schristos #endif
49766e63ce3Schristos return 0;
49866e63ce3Schristos }
49966e63ce3Schristos 
50066e63ce3Schristos int
gen_URG()50166e63ce3Schristos gen_URG ()
50266e63ce3Schristos {
50366e63ce3Schristos #ifdef SIGURG
50466e63ce3Schristos   kill (getpid (), SIGURG);
50566e63ce3Schristos #else
50666e63ce3Schristos   handle_URG (0);
50766e63ce3Schristos #endif
50866e63ce3Schristos return 0;
50966e63ce3Schristos }
51066e63ce3Schristos 
51166e63ce3Schristos int
gen_TSTP()51266e63ce3Schristos gen_TSTP ()
51366e63ce3Schristos {
51466e63ce3Schristos #ifdef SIGTSTP
51566e63ce3Schristos   kill (getpid (), SIGTSTP);
51666e63ce3Schristos #else
51766e63ce3Schristos   handle_TSTP (0);
51866e63ce3Schristos #endif
51966e63ce3Schristos return 0;
52066e63ce3Schristos }
52166e63ce3Schristos 
52266e63ce3Schristos int
gen_CONT()52366e63ce3Schristos gen_CONT ()
52466e63ce3Schristos {
52566e63ce3Schristos #ifdef SIGCONT
52666e63ce3Schristos   kill (getpid (), SIGCONT);
52766e63ce3Schristos #else
52866e63ce3Schristos   handle_CONT (0);
52966e63ce3Schristos #endif
53066e63ce3Schristos return 0;
53166e63ce3Schristos }
53266e63ce3Schristos 
53366e63ce3Schristos int
gen_CHLD()53466e63ce3Schristos gen_CHLD ()
53566e63ce3Schristos {
53666e63ce3Schristos #ifdef SIGCHLD
53766e63ce3Schristos   kill (getpid (), SIGCHLD);
53866e63ce3Schristos #else
53966e63ce3Schristos   handle_CHLD (0);
54066e63ce3Schristos #endif
54166e63ce3Schristos return 0;
54266e63ce3Schristos }
54366e63ce3Schristos 
54466e63ce3Schristos int
gen_TTIN()54566e63ce3Schristos gen_TTIN ()
54666e63ce3Schristos {
54766e63ce3Schristos #ifdef SIGTTIN
54866e63ce3Schristos   kill (getpid (), SIGTTIN);
54966e63ce3Schristos #else
55066e63ce3Schristos   handle_TTIN (0);
55166e63ce3Schristos #endif
55266e63ce3Schristos return 0;
55366e63ce3Schristos }
55466e63ce3Schristos 
55566e63ce3Schristos int
gen_TTOU()55666e63ce3Schristos gen_TTOU ()
55766e63ce3Schristos {
55866e63ce3Schristos #ifdef SIGTTOU
55966e63ce3Schristos   kill (getpid (), SIGTTOU);
56066e63ce3Schristos #else
56166e63ce3Schristos   handle_TTOU (0);
56266e63ce3Schristos #endif
56366e63ce3Schristos return 0;
56466e63ce3Schristos }
56566e63ce3Schristos 
56666e63ce3Schristos int
gen_IO()56766e63ce3Schristos gen_IO ()
56866e63ce3Schristos {
56966e63ce3Schristos #ifdef SIGIO
57066e63ce3Schristos   kill (getpid (), SIGIO);
57166e63ce3Schristos #else
57266e63ce3Schristos   handle_IO (0);
57366e63ce3Schristos #endif
57466e63ce3Schristos return 0;
57566e63ce3Schristos }
57666e63ce3Schristos 
57766e63ce3Schristos int
gen_XCPU()57866e63ce3Schristos gen_XCPU ()
57966e63ce3Schristos {
58066e63ce3Schristos #ifdef SIGXCPU
58166e63ce3Schristos   kill (getpid (), SIGXCPU);
58266e63ce3Schristos #else
58366e63ce3Schristos   handle_XCPU (0);
58466e63ce3Schristos #endif
58566e63ce3Schristos return 0;
58666e63ce3Schristos }
58766e63ce3Schristos 
58866e63ce3Schristos int
gen_XFSZ()58966e63ce3Schristos gen_XFSZ ()
59066e63ce3Schristos {
59166e63ce3Schristos #ifdef SIGXFSZ
59266e63ce3Schristos   kill (getpid (), SIGXFSZ);
59366e63ce3Schristos #else
59466e63ce3Schristos   handle_XFSZ (0);
59566e63ce3Schristos #endif
59666e63ce3Schristos return 0;
59766e63ce3Schristos }
59866e63ce3Schristos 
59966e63ce3Schristos int
gen_VTALRM()60066e63ce3Schristos gen_VTALRM ()
60166e63ce3Schristos {
60266e63ce3Schristos #ifdef SIGVTALRM
60366e63ce3Schristos   kill (getpid (), SIGVTALRM);
60466e63ce3Schristos #else
60566e63ce3Schristos   handle_VTALRM (0);
60666e63ce3Schristos #endif
60766e63ce3Schristos return 0;
60866e63ce3Schristos }
60966e63ce3Schristos 
61066e63ce3Schristos int
gen_PROF()61166e63ce3Schristos gen_PROF ()
61266e63ce3Schristos {
61366e63ce3Schristos #ifdef SIGPROF
61466e63ce3Schristos   kill (getpid (), SIGPROF);
61566e63ce3Schristos #else
61666e63ce3Schristos   handle_PROF (0);
61766e63ce3Schristos #endif
61866e63ce3Schristos return 0;
61966e63ce3Schristos }
62066e63ce3Schristos 
62166e63ce3Schristos int
gen_WINCH()62266e63ce3Schristos gen_WINCH ()
62366e63ce3Schristos {
62466e63ce3Schristos #ifdef SIGWINCH
62566e63ce3Schristos   kill (getpid (), SIGWINCH);
62666e63ce3Schristos #else
62766e63ce3Schristos   handle_WINCH (0);
62866e63ce3Schristos #endif
62966e63ce3Schristos return 0;
63066e63ce3Schristos }
63166e63ce3Schristos 
63266e63ce3Schristos int
gen_LOST()63366e63ce3Schristos gen_LOST ()
63466e63ce3Schristos {
635*26a53354Schristos #if defined(SIGLOST) && SIGLOST != SIGABRT
63666e63ce3Schristos   kill (getpid (), SIGLOST);
63766e63ce3Schristos #else
63866e63ce3Schristos   handle_LOST (0);
63966e63ce3Schristos #endif
64066e63ce3Schristos return 0;
64166e63ce3Schristos }
64266e63ce3Schristos 
64366e63ce3Schristos int
gen_USR1()64466e63ce3Schristos gen_USR1 ()
64566e63ce3Schristos {
64666e63ce3Schristos #ifdef SIGUSR1
64766e63ce3Schristos   kill (getpid (), SIGUSR1);
64866e63ce3Schristos #else
64966e63ce3Schristos   handle_USR1 (0);
65066e63ce3Schristos #endif
65166e63ce3Schristos return 0;
65266e63ce3Schristos }
65366e63ce3Schristos 
65466e63ce3Schristos int
gen_USR2()65566e63ce3Schristos gen_USR2 ()
65666e63ce3Schristos {
65766e63ce3Schristos #ifdef SIGUSR2
65866e63ce3Schristos   kill (getpid (), SIGUSR2);
65966e63ce3Schristos #else
66066e63ce3Schristos   handle_USR2 (0);
66166e63ce3Schristos #endif
66266e63ce3Schristos return 0;
66366e63ce3Schristos }
66466e63ce3Schristos 
66566e63ce3Schristos int
gen_PWR()66666e63ce3Schristos gen_PWR ()
66766e63ce3Schristos {
6687af5a897Schristos #if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
66966e63ce3Schristos   kill (getpid (), SIGPWR);
67066e63ce3Schristos #else
67166e63ce3Schristos   handle_PWR (0);
67266e63ce3Schristos #endif
67366e63ce3Schristos return 0;
67466e63ce3Schristos }
67566e63ce3Schristos 
67666e63ce3Schristos int
gen_POLL()67766e63ce3Schristos gen_POLL ()
67866e63ce3Schristos {
67966e63ce3Schristos #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
68066e63ce3Schristos   kill (getpid (), SIGPOLL);
68166e63ce3Schristos #else
68266e63ce3Schristos   handle_POLL (0);
68366e63ce3Schristos #endif
68466e63ce3Schristos return 0;
68566e63ce3Schristos }
68666e63ce3Schristos 
68766e63ce3Schristos int
gen_WIND()68866e63ce3Schristos gen_WIND ()
68966e63ce3Schristos {
69066e63ce3Schristos #ifdef SIGWIND
69166e63ce3Schristos   kill (getpid (), SIGWIND);
69266e63ce3Schristos #else
69366e63ce3Schristos   handle_WIND (0);
69466e63ce3Schristos #endif
69566e63ce3Schristos return 0;
69666e63ce3Schristos }
69766e63ce3Schristos 
69866e63ce3Schristos int
gen_PHONE()69966e63ce3Schristos gen_PHONE ()
70066e63ce3Schristos {
70166e63ce3Schristos #ifdef SIGPHONE
70266e63ce3Schristos   kill (getpid (), SIGPHONE);
70366e63ce3Schristos #else
70466e63ce3Schristos   handle_PHONE (0);
70566e63ce3Schristos #endif
70666e63ce3Schristos return 0;
70766e63ce3Schristos }
70866e63ce3Schristos 
70966e63ce3Schristos int
gen_WAITING()71066e63ce3Schristos gen_WAITING ()
71166e63ce3Schristos {
71266e63ce3Schristos #ifdef SIGWAITING
71366e63ce3Schristos   kill (getpid (), SIGWAITING);
71466e63ce3Schristos #else
71566e63ce3Schristos   handle_WAITING (0);
71666e63ce3Schristos #endif
71766e63ce3Schristos return 0;
71866e63ce3Schristos }
71966e63ce3Schristos 
72066e63ce3Schristos int
gen_LWP()72166e63ce3Schristos gen_LWP ()
72266e63ce3Schristos {
72366e63ce3Schristos #ifdef SIGLWP
72466e63ce3Schristos   kill (getpid (), SIGLWP);
72566e63ce3Schristos #else
72666e63ce3Schristos   handle_LWP (0);
72766e63ce3Schristos #endif
72866e63ce3Schristos return 0;
72966e63ce3Schristos }
73066e63ce3Schristos 
73166e63ce3Schristos int
gen_DANGER()73266e63ce3Schristos gen_DANGER ()
73366e63ce3Schristos {
73466e63ce3Schristos #ifdef SIGDANGER
73566e63ce3Schristos   kill (getpid (), SIGDANGER);
73666e63ce3Schristos #else
73766e63ce3Schristos   handle_DANGER (0);
73866e63ce3Schristos #endif
73966e63ce3Schristos return 0;
74066e63ce3Schristos }
74166e63ce3Schristos 
74266e63ce3Schristos int
gen_GRANT()74366e63ce3Schristos gen_GRANT ()
74466e63ce3Schristos {
74566e63ce3Schristos #ifdef SIGGRANT
74666e63ce3Schristos   kill (getpid (), SIGGRANT);
74766e63ce3Schristos #else
74866e63ce3Schristos   handle_GRANT (0);
74966e63ce3Schristos #endif
75066e63ce3Schristos return 0;
75166e63ce3Schristos }
75266e63ce3Schristos 
75366e63ce3Schristos int
gen_RETRACT()75466e63ce3Schristos gen_RETRACT ()
75566e63ce3Schristos {
75666e63ce3Schristos #ifdef SIGRETRACT
75766e63ce3Schristos   kill (getpid (), SIGRETRACT);
75866e63ce3Schristos #else
75966e63ce3Schristos   handle_RETRACT (0);
76066e63ce3Schristos #endif
76166e63ce3Schristos return 0;
76266e63ce3Schristos }
76366e63ce3Schristos 
76466e63ce3Schristos int
gen_MSG()76566e63ce3Schristos gen_MSG ()
76666e63ce3Schristos {
76766e63ce3Schristos #ifdef SIGMSG
76866e63ce3Schristos   kill (getpid (), SIGMSG);
76966e63ce3Schristos #else
77066e63ce3Schristos   handle_MSG (0);
77166e63ce3Schristos #endif
77266e63ce3Schristos return 0;
77366e63ce3Schristos }
77466e63ce3Schristos 
77566e63ce3Schristos int
gen_SOUND()77666e63ce3Schristos gen_SOUND ()
77766e63ce3Schristos {
77866e63ce3Schristos #ifdef SIGSOUND
77966e63ce3Schristos   kill (getpid (), SIGSOUND);
78066e63ce3Schristos #else
78166e63ce3Schristos   handle_SOUND (0);
78266e63ce3Schristos #endif
78366e63ce3Schristos return 0;
78466e63ce3Schristos }
78566e63ce3Schristos 
78666e63ce3Schristos int
gen_SAK()78766e63ce3Schristos gen_SAK ()
78866e63ce3Schristos {
78966e63ce3Schristos #ifdef SIGSAK
79066e63ce3Schristos   kill (getpid (), SIGSAK);
79166e63ce3Schristos #else
79266e63ce3Schristos   handle_SAK (0);
79366e63ce3Schristos #endif
79466e63ce3Schristos return 0;
79566e63ce3Schristos }
79666e63ce3Schristos 
79766e63ce3Schristos int
gen_PRIO()79866e63ce3Schristos gen_PRIO ()
79966e63ce3Schristos {
80066e63ce3Schristos #ifdef SIGPRIO
80166e63ce3Schristos   kill (getpid (), SIGPRIO);
80266e63ce3Schristos #else
80366e63ce3Schristos   handle_PRIO (0);
80466e63ce3Schristos #endif
80566e63ce3Schristos return 0;
80666e63ce3Schristos }
80766e63ce3Schristos 
80866e63ce3Schristos int
gen_33()80966e63ce3Schristos gen_33 ()
81066e63ce3Schristos {
81166e63ce3Schristos #ifdef SIG33
81266e63ce3Schristos   kill (getpid (), 33);
81366e63ce3Schristos #else
81466e63ce3Schristos   handle_33 (0);
81566e63ce3Schristos #endif
81666e63ce3Schristos return 0;
81766e63ce3Schristos }
81866e63ce3Schristos 
81966e63ce3Schristos int
gen_34()82066e63ce3Schristos gen_34 ()
82166e63ce3Schristos {
82266e63ce3Schristos #ifdef SIG34
82366e63ce3Schristos   kill (getpid (), 34);
82466e63ce3Schristos #else
82566e63ce3Schristos   handle_34 (0);
82666e63ce3Schristos #endif
82766e63ce3Schristos return 0;
82866e63ce3Schristos }
82966e63ce3Schristos 
83066e63ce3Schristos int
gen_35()83166e63ce3Schristos gen_35 ()
83266e63ce3Schristos {
83366e63ce3Schristos #ifdef SIG35
83466e63ce3Schristos   kill (getpid (), 35);
83566e63ce3Schristos #else
83666e63ce3Schristos   handle_35 (0);
83766e63ce3Schristos #endif
83866e63ce3Schristos return 0;
83966e63ce3Schristos }
84066e63ce3Schristos 
84166e63ce3Schristos int
gen_36()84266e63ce3Schristos gen_36 ()
84366e63ce3Schristos {
84466e63ce3Schristos #ifdef SIG36
84566e63ce3Schristos   kill (getpid (), 36);
84666e63ce3Schristos #else
84766e63ce3Schristos   handle_36 (0);
84866e63ce3Schristos #endif
84966e63ce3Schristos return 0;
85066e63ce3Schristos }
85166e63ce3Schristos 
85266e63ce3Schristos int
gen_37()85366e63ce3Schristos gen_37 ()
85466e63ce3Schristos {
85566e63ce3Schristos #ifdef SIG37
85666e63ce3Schristos   kill (getpid (), 37);
85766e63ce3Schristos #else
85866e63ce3Schristos   handle_37 (0);
85966e63ce3Schristos #endif
86066e63ce3Schristos return 0;
86166e63ce3Schristos }
86266e63ce3Schristos 
86366e63ce3Schristos int
gen_38()86466e63ce3Schristos gen_38 ()
86566e63ce3Schristos {
86666e63ce3Schristos #ifdef SIG38
86766e63ce3Schristos   kill (getpid (), 38);
86866e63ce3Schristos #else
86966e63ce3Schristos   handle_38 (0);
87066e63ce3Schristos #endif
87166e63ce3Schristos return 0;
87266e63ce3Schristos }
87366e63ce3Schristos 
87466e63ce3Schristos int
gen_39()87566e63ce3Schristos gen_39 ()
87666e63ce3Schristos {
87766e63ce3Schristos #ifdef SIG39
87866e63ce3Schristos   kill (getpid (), 39);
87966e63ce3Schristos #else
88066e63ce3Schristos   handle_39 (0);
88166e63ce3Schristos #endif
88266e63ce3Schristos return 0;
88366e63ce3Schristos }
88466e63ce3Schristos 
88566e63ce3Schristos int
gen_40()88666e63ce3Schristos gen_40 ()
88766e63ce3Schristos {
88866e63ce3Schristos #ifdef SIG40
88966e63ce3Schristos   kill (getpid (), 40);
89066e63ce3Schristos #else
89166e63ce3Schristos   handle_40 (0);
89266e63ce3Schristos #endif
89366e63ce3Schristos return 0;
89466e63ce3Schristos }
89566e63ce3Schristos 
89666e63ce3Schristos int
gen_41()89766e63ce3Schristos gen_41 ()
89866e63ce3Schristos {
89966e63ce3Schristos #ifdef SIG41
90066e63ce3Schristos   kill (getpid (), 41);
90166e63ce3Schristos #else
90266e63ce3Schristos   handle_41 (0);
90366e63ce3Schristos #endif
90466e63ce3Schristos return 0;
90566e63ce3Schristos }
90666e63ce3Schristos 
90766e63ce3Schristos int
gen_42()90866e63ce3Schristos gen_42 ()
90966e63ce3Schristos {
91066e63ce3Schristos #ifdef SIG42
91166e63ce3Schristos   kill (getpid (), 42);
91266e63ce3Schristos #else
91366e63ce3Schristos   handle_42 (0);
91466e63ce3Schristos #endif
91566e63ce3Schristos return 0;
91666e63ce3Schristos }
91766e63ce3Schristos 
91866e63ce3Schristos int
gen_43()91966e63ce3Schristos gen_43 ()
92066e63ce3Schristos {
92166e63ce3Schristos #ifdef SIG43
92266e63ce3Schristos   kill (getpid (), 43);
92366e63ce3Schristos #else
92466e63ce3Schristos   handle_43 (0);
92566e63ce3Schristos #endif
92666e63ce3Schristos return 0;
92766e63ce3Schristos }
92866e63ce3Schristos 
92966e63ce3Schristos int
gen_44()93066e63ce3Schristos gen_44 ()
93166e63ce3Schristos {
93266e63ce3Schristos #ifdef SIG44
93366e63ce3Schristos   kill (getpid (), 44);
93466e63ce3Schristos #else
93566e63ce3Schristos   handle_44 (0);
93666e63ce3Schristos #endif
93766e63ce3Schristos return 0;
93866e63ce3Schristos }
93966e63ce3Schristos 
94066e63ce3Schristos int
gen_45()94166e63ce3Schristos gen_45 ()
94266e63ce3Schristos {
94366e63ce3Schristos #ifdef SIG45
94466e63ce3Schristos   kill (getpid (), 45);
94566e63ce3Schristos #else
94666e63ce3Schristos   handle_45 (0);
94766e63ce3Schristos #endif
94866e63ce3Schristos return 0;
94966e63ce3Schristos }
95066e63ce3Schristos 
95166e63ce3Schristos int
gen_46()95266e63ce3Schristos gen_46 ()
95366e63ce3Schristos {
95466e63ce3Schristos #ifdef SIG46
95566e63ce3Schristos   kill (getpid (), 46);
95666e63ce3Schristos #else
95766e63ce3Schristos   handle_46 (0);
95866e63ce3Schristos #endif
95966e63ce3Schristos return 0;
96066e63ce3Schristos }
96166e63ce3Schristos 
96266e63ce3Schristos int
gen_47()96366e63ce3Schristos gen_47 ()
96466e63ce3Schristos {
96566e63ce3Schristos #ifdef SIG47
96666e63ce3Schristos   kill (getpid (), 47);
96766e63ce3Schristos #else
96866e63ce3Schristos   handle_47 (0);
96966e63ce3Schristos #endif
97066e63ce3Schristos return 0;
97166e63ce3Schristos }
97266e63ce3Schristos 
97366e63ce3Schristos int
gen_48()97466e63ce3Schristos gen_48 ()
97566e63ce3Schristos {
97666e63ce3Schristos #ifdef SIG48
97766e63ce3Schristos   kill (getpid (), 48);
97866e63ce3Schristos #else
97966e63ce3Schristos   handle_48 (0);
98066e63ce3Schristos #endif
98166e63ce3Schristos return 0;
98266e63ce3Schristos }
98366e63ce3Schristos 
98466e63ce3Schristos int
gen_49()98566e63ce3Schristos gen_49 ()
98666e63ce3Schristos {
98766e63ce3Schristos #ifdef SIG49
98866e63ce3Schristos   kill (getpid (), 49);
98966e63ce3Schristos #else
99066e63ce3Schristos   handle_49 (0);
99166e63ce3Schristos #endif
99266e63ce3Schristos return 0;
99366e63ce3Schristos }
99466e63ce3Schristos 
99566e63ce3Schristos int
gen_50()99666e63ce3Schristos gen_50 ()
99766e63ce3Schristos {
99866e63ce3Schristos #ifdef SIG50
99966e63ce3Schristos   kill (getpid (), 50);
100066e63ce3Schristos #else
100166e63ce3Schristos   handle_50 (0);
100266e63ce3Schristos #endif
100366e63ce3Schristos return 0;
100466e63ce3Schristos }
100566e63ce3Schristos 
100666e63ce3Schristos int
gen_51()100766e63ce3Schristos gen_51 ()
100866e63ce3Schristos {
100966e63ce3Schristos #ifdef SIG51
101066e63ce3Schristos   kill (getpid (), 51);
101166e63ce3Schristos #else
101266e63ce3Schristos   handle_51 (0);
101366e63ce3Schristos #endif
101466e63ce3Schristos return 0;
101566e63ce3Schristos }
101666e63ce3Schristos 
101766e63ce3Schristos int
gen_52()101866e63ce3Schristos gen_52 ()
101966e63ce3Schristos {
102066e63ce3Schristos #ifdef SIG52
102166e63ce3Schristos   kill (getpid (), 52);
102266e63ce3Schristos #else
102366e63ce3Schristos   handle_52 (0);
102466e63ce3Schristos #endif
102566e63ce3Schristos return 0;
102666e63ce3Schristos }
102766e63ce3Schristos 
102866e63ce3Schristos int
gen_53()102966e63ce3Schristos gen_53 ()
103066e63ce3Schristos {
103166e63ce3Schristos #ifdef SIG53
103266e63ce3Schristos   kill (getpid (), 53);
103366e63ce3Schristos #else
103466e63ce3Schristos   handle_53 (0);
103566e63ce3Schristos #endif
103666e63ce3Schristos return 0;
103766e63ce3Schristos }
103866e63ce3Schristos 
103966e63ce3Schristos int
gen_54()104066e63ce3Schristos gen_54 ()
104166e63ce3Schristos {
104266e63ce3Schristos #ifdef SIG54
104366e63ce3Schristos   kill (getpid (), 54);
104466e63ce3Schristos #else
104566e63ce3Schristos   handle_54 (0);
104666e63ce3Schristos #endif
104766e63ce3Schristos return 0;
104866e63ce3Schristos }
104966e63ce3Schristos 
105066e63ce3Schristos int
gen_55()105166e63ce3Schristos gen_55 ()
105266e63ce3Schristos {
105366e63ce3Schristos #ifdef SIG55
105466e63ce3Schristos   kill (getpid (), 55);
105566e63ce3Schristos #else
105666e63ce3Schristos   handle_55 (0);
105766e63ce3Schristos #endif
105866e63ce3Schristos return 0;
105966e63ce3Schristos }
106066e63ce3Schristos 
106166e63ce3Schristos int
gen_56()106266e63ce3Schristos gen_56 ()
106366e63ce3Schristos {
106466e63ce3Schristos #ifdef SIG56
106566e63ce3Schristos   kill (getpid (), 56);
106666e63ce3Schristos #else
106766e63ce3Schristos   handle_56 (0);
106866e63ce3Schristos #endif
106966e63ce3Schristos return 0;
107066e63ce3Schristos }
107166e63ce3Schristos 
107266e63ce3Schristos int
gen_57()107366e63ce3Schristos gen_57 ()
107466e63ce3Schristos {
107566e63ce3Schristos #ifdef SIG57
107666e63ce3Schristos   kill (getpid (), 57);
107766e63ce3Schristos #else
107866e63ce3Schristos   handle_57 (0);
107966e63ce3Schristos #endif
108066e63ce3Schristos return 0;
108166e63ce3Schristos }
108266e63ce3Schristos 
108366e63ce3Schristos int
gen_58()108466e63ce3Schristos gen_58 ()
108566e63ce3Schristos {
108666e63ce3Schristos #ifdef SIG58
108766e63ce3Schristos   kill (getpid (), 58);
108866e63ce3Schristos #else
108966e63ce3Schristos   handle_58 (0);
109066e63ce3Schristos #endif
109166e63ce3Schristos return 0;
109266e63ce3Schristos }
109366e63ce3Schristos 
109466e63ce3Schristos int
gen_59()109566e63ce3Schristos gen_59 ()
109666e63ce3Schristos {
109766e63ce3Schristos #ifdef SIG59
109866e63ce3Schristos   kill (getpid (), 59);
109966e63ce3Schristos #else
110066e63ce3Schristos   handle_59 (0);
110166e63ce3Schristos #endif
110266e63ce3Schristos return 0;
110366e63ce3Schristos }
110466e63ce3Schristos 
110566e63ce3Schristos int
gen_60()110666e63ce3Schristos gen_60 ()
110766e63ce3Schristos {
110866e63ce3Schristos #ifdef SIG60
110966e63ce3Schristos   kill (getpid (), 60);
111066e63ce3Schristos #else
111166e63ce3Schristos   handle_60 (0);
111266e63ce3Schristos #endif
111366e63ce3Schristos return 0;
111466e63ce3Schristos }
111566e63ce3Schristos 
111666e63ce3Schristos int
gen_61()111766e63ce3Schristos gen_61 ()
111866e63ce3Schristos {
111966e63ce3Schristos #ifdef SIG61
112066e63ce3Schristos   kill (getpid (), 61);
112166e63ce3Schristos #else
112266e63ce3Schristos   handle_61 (0);
112366e63ce3Schristos #endif
112466e63ce3Schristos return 0;
112566e63ce3Schristos }
112666e63ce3Schristos 
112766e63ce3Schristos int
gen_62()112866e63ce3Schristos gen_62 ()
112966e63ce3Schristos {
113066e63ce3Schristos #ifdef SIG62
113166e63ce3Schristos   kill (getpid (), 62);
113266e63ce3Schristos #else
113366e63ce3Schristos   handle_62 (0);
113466e63ce3Schristos #endif
113566e63ce3Schristos return 0;
113666e63ce3Schristos }
113766e63ce3Schristos 
113866e63ce3Schristos int
gen_63()113966e63ce3Schristos gen_63 ()
114066e63ce3Schristos {
114166e63ce3Schristos #ifdef SIG63
114266e63ce3Schristos   kill (getpid (), 63);
114366e63ce3Schristos #else
114466e63ce3Schristos   handle_63 (0);
114566e63ce3Schristos #endif
114666e63ce3Schristos return 0;
114766e63ce3Schristos }
114866e63ce3Schristos 
114966e63ce3Schristos int
main()115066e63ce3Schristos main ()
115166e63ce3Schristos {
115266e63ce3Schristos 
115366e63ce3Schristos #ifdef SIG_SETMASK
115466e63ce3Schristos   /* Ensure all the signals aren't blocked.
115566e63ce3Schristos      The environment in which the testsuite is run may have blocked some
115666e63ce3Schristos      for whatever reason.  */
115766e63ce3Schristos   {
115866e63ce3Schristos     sigset_t newset;
115966e63ce3Schristos     sigemptyset (&newset);
116066e63ce3Schristos     sigprocmask (SIG_SETMASK, &newset, NULL);
116166e63ce3Schristos   }
116266e63ce3Schristos #endif
116366e63ce3Schristos 
1164*26a53354Schristos   /* Signals are ordered ANSI-standard signals first, other signals
1165*26a53354Schristos      second, with signals in each block ordered by their numerical
1166*26a53354Schristos      values on a typical POSIX platform.  */
1167*26a53354Schristos 
1168*26a53354Schristos   /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
1169*26a53354Schristos      are ANSI-standard signals and are always available.  */
1170*26a53354Schristos   signal (SIGILL, handle_ILL);
117166e63ce3Schristos   signal (SIGABRT, handle_ABRT);
1172*26a53354Schristos   signal (SIGFPE, handle_FPE);
1173*26a53354Schristos   signal (SIGSEGV, handle_SEGV);
1174*26a53354Schristos   signal (SIGTERM, handle_TERM);
1175*26a53354Schristos 
1176*26a53354Schristos   /* All other signals need preprocessor conditionals.  */
117766e63ce3Schristos #ifdef SIGHUP
117866e63ce3Schristos   signal (SIGHUP, handle_HUP);
117966e63ce3Schristos #endif
118066e63ce3Schristos #ifdef SIGQUIT
118166e63ce3Schristos   signal (SIGQUIT, handle_QUIT);
118266e63ce3Schristos #endif
118366e63ce3Schristos #ifdef SIGEMT
118466e63ce3Schristos   signal (SIGEMT, handle_EMT);
118566e63ce3Schristos #endif
118666e63ce3Schristos #ifdef SIGBUS
118766e63ce3Schristos   signal (SIGBUS, handle_BUS);
118866e63ce3Schristos #endif
118966e63ce3Schristos #ifdef SIGSYS
119066e63ce3Schristos   signal (SIGSYS, handle_SYS);
119166e63ce3Schristos #endif
119266e63ce3Schristos #ifdef SIGPIPE
119366e63ce3Schristos   signal (SIGPIPE, handle_PIPE);
119466e63ce3Schristos #endif
119566e63ce3Schristos #ifdef SIGALRM
119666e63ce3Schristos   signal (SIGALRM, handle_ALRM);
119766e63ce3Schristos #endif
119866e63ce3Schristos #ifdef SIGURG
119966e63ce3Schristos   signal (SIGURG, handle_URG);
120066e63ce3Schristos #endif
120166e63ce3Schristos #ifdef SIGTSTP
120266e63ce3Schristos   signal (SIGTSTP, handle_TSTP);
120366e63ce3Schristos #endif
120466e63ce3Schristos #ifdef SIGCONT
120566e63ce3Schristos   signal (SIGCONT, handle_CONT);
120666e63ce3Schristos #endif
120766e63ce3Schristos #ifdef SIGCHLD
120866e63ce3Schristos   signal (SIGCHLD, handle_CHLD);
120966e63ce3Schristos #endif
121066e63ce3Schristos #ifdef SIGTTIN
121166e63ce3Schristos   signal (SIGTTIN, handle_TTIN);
121266e63ce3Schristos #endif
121366e63ce3Schristos #ifdef SIGTTOU
121466e63ce3Schristos   signal (SIGTTOU, handle_TTOU);
121566e63ce3Schristos #endif
121666e63ce3Schristos #ifdef SIGIO
121766e63ce3Schristos   signal (SIGIO, handle_IO);
121866e63ce3Schristos #endif
121966e63ce3Schristos #ifdef SIGXCPU
122066e63ce3Schristos   signal (SIGXCPU, handle_XCPU);
122166e63ce3Schristos #endif
122266e63ce3Schristos #ifdef SIGXFSZ
122366e63ce3Schristos   signal (SIGXFSZ, handle_XFSZ);
122466e63ce3Schristos #endif
122566e63ce3Schristos #ifdef SIGVTALRM
122666e63ce3Schristos   signal (SIGVTALRM, handle_VTALRM);
122766e63ce3Schristos #endif
122866e63ce3Schristos #ifdef SIGPROF
122966e63ce3Schristos   signal (SIGPROF, handle_PROF);
123066e63ce3Schristos #endif
123166e63ce3Schristos #ifdef SIGWINCH
123266e63ce3Schristos   signal (SIGWINCH, handle_WINCH);
123366e63ce3Schristos #endif
1234*26a53354Schristos #if defined(SIGLOST) && SIGLOST != SIGABRT
123566e63ce3Schristos   signal (SIGLOST, handle_LOST);
123666e63ce3Schristos #endif
123766e63ce3Schristos #ifdef SIGUSR1
123866e63ce3Schristos   signal (SIGUSR1, handle_USR1);
123966e63ce3Schristos #endif
124066e63ce3Schristos #ifdef SIGUSR2
124166e63ce3Schristos   signal (SIGUSR2, handle_USR2);
124266e63ce3Schristos #endif
12437af5a897Schristos #if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
124466e63ce3Schristos   signal (SIGPWR, handle_PWR);
124566e63ce3Schristos #endif
124666e63ce3Schristos #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
124766e63ce3Schristos   signal (SIGPOLL, handle_POLL);
124866e63ce3Schristos #endif
124966e63ce3Schristos #ifdef SIGWIND
125066e63ce3Schristos   signal (SIGWIND, handle_WIND);
125166e63ce3Schristos #endif
125266e63ce3Schristos #ifdef SIGPHONE
125366e63ce3Schristos   signal (SIGPHONE, handle_PHONE);
125466e63ce3Schristos #endif
125566e63ce3Schristos #ifdef SIGWAITING
125666e63ce3Schristos   signal (SIGWAITING, handle_WAITING);
125766e63ce3Schristos #endif
125866e63ce3Schristos #ifdef SIGLWP
125966e63ce3Schristos   signal (SIGLWP, handle_LWP);
126066e63ce3Schristos #endif
126166e63ce3Schristos #ifdef SIGDANGER
126266e63ce3Schristos   signal (SIGDANGER, handle_DANGER);
126366e63ce3Schristos #endif
126466e63ce3Schristos #ifdef SIGGRANT
126566e63ce3Schristos   signal (SIGGRANT, handle_GRANT);
126666e63ce3Schristos #endif
126766e63ce3Schristos #ifdef SIGRETRACT
126866e63ce3Schristos   signal (SIGRETRACT, handle_RETRACT);
126966e63ce3Schristos #endif
127066e63ce3Schristos #ifdef SIGMSG
127166e63ce3Schristos   signal (SIGMSG, handle_MSG);
127266e63ce3Schristos #endif
127366e63ce3Schristos #ifdef SIGSOUND
127466e63ce3Schristos   signal (SIGSOUND, handle_SOUND);
127566e63ce3Schristos #endif
127666e63ce3Schristos #ifdef SIGSAK
127766e63ce3Schristos   signal (SIGSAK, handle_SAK);
127866e63ce3Schristos #endif
127966e63ce3Schristos #ifdef SIGPRIO
128066e63ce3Schristos   signal (SIGPRIO, handle_PRIO);
128166e63ce3Schristos #endif
128266e63ce3Schristos #ifdef __Lynx__
128366e63ce3Schristos   /* Lynx doesn't seem to have anything in signal.h for this.  */
128466e63ce3Schristos   signal (33, handle_33);
128566e63ce3Schristos   signal (34, handle_34);
128666e63ce3Schristos   signal (35, handle_35);
128766e63ce3Schristos   signal (36, handle_36);
128866e63ce3Schristos   signal (37, handle_37);
128966e63ce3Schristos   signal (38, handle_38);
129066e63ce3Schristos   signal (39, handle_39);
129166e63ce3Schristos   signal (40, handle_40);
129266e63ce3Schristos   signal (41, handle_41);
129366e63ce3Schristos   signal (42, handle_42);
129466e63ce3Schristos   signal (43, handle_43);
129566e63ce3Schristos   signal (44, handle_44);
129666e63ce3Schristos   signal (45, handle_45);
129766e63ce3Schristos   signal (46, handle_46);
129866e63ce3Schristos   signal (47, handle_47);
129966e63ce3Schristos   signal (48, handle_48);
130066e63ce3Schristos   signal (49, handle_49);
130166e63ce3Schristos   signal (50, handle_50);
130266e63ce3Schristos   signal (51, handle_51);
130366e63ce3Schristos   signal (52, handle_52);
130466e63ce3Schristos   signal (53, handle_53);
130566e63ce3Schristos   signal (54, handle_54);
130666e63ce3Schristos   signal (55, handle_55);
130766e63ce3Schristos   signal (56, handle_56);
130866e63ce3Schristos   signal (57, handle_57);
130966e63ce3Schristos   signal (58, handle_58);
131066e63ce3Schristos   signal (59, handle_59);
131166e63ce3Schristos   signal (60, handle_60);
131266e63ce3Schristos   signal (61, handle_61);
131366e63ce3Schristos   signal (62, handle_62);
131466e63ce3Schristos   signal (63, handle_63);
131566e63ce3Schristos #endif /* lynx */
131666e63ce3Schristos 
131766e63ce3Schristos   x = 0;
131866e63ce3Schristos 
131966e63ce3Schristos   gen_ABRT ();
132066e63ce3Schristos   gen_HUP ();
132166e63ce3Schristos   gen_QUIT ();
132266e63ce3Schristos   gen_ILL ();
132366e63ce3Schristos   gen_EMT ();
132466e63ce3Schristos   gen_FPE ();
132566e63ce3Schristos   gen_BUS ();
132666e63ce3Schristos   gen_SEGV ();
132766e63ce3Schristos   gen_SYS ();
132866e63ce3Schristos   gen_PIPE ();
132966e63ce3Schristos   gen_ALRM ();
133066e63ce3Schristos   gen_URG ();
133166e63ce3Schristos   gen_TSTP ();
133266e63ce3Schristos   gen_CONT ();
133366e63ce3Schristos   gen_CHLD ();
133466e63ce3Schristos   gen_TTIN ();
133566e63ce3Schristos   gen_TTOU ();
133666e63ce3Schristos   gen_IO ();
133766e63ce3Schristos   gen_XCPU ();
133866e63ce3Schristos   gen_XFSZ ();
133966e63ce3Schristos   gen_VTALRM ();
134066e63ce3Schristos   gen_PROF ();
134166e63ce3Schristos   gen_WINCH ();
134266e63ce3Schristos   gen_LOST ();
134366e63ce3Schristos   gen_USR1 ();
134466e63ce3Schristos   gen_USR2 ();
134566e63ce3Schristos   gen_PWR ();
134666e63ce3Schristos   gen_POLL ();
134766e63ce3Schristos   gen_WIND ();
134866e63ce3Schristos   gen_PHONE ();
134966e63ce3Schristos   gen_WAITING ();
135066e63ce3Schristos   gen_LWP ();
135166e63ce3Schristos   gen_DANGER ();
135266e63ce3Schristos   gen_GRANT ();
135366e63ce3Schristos   gen_RETRACT ();
135466e63ce3Schristos   gen_MSG ();
135566e63ce3Schristos   gen_SOUND ();
135666e63ce3Schristos   gen_SAK ();
135766e63ce3Schristos   gen_PRIO ();
135866e63ce3Schristos   gen_33 ();
135966e63ce3Schristos   gen_34 ();
136066e63ce3Schristos   gen_35 ();
136166e63ce3Schristos   gen_36 ();
136266e63ce3Schristos   gen_37 ();
136366e63ce3Schristos   gen_38 ();
136466e63ce3Schristos   gen_39 ();
136566e63ce3Schristos   gen_40 ();
136666e63ce3Schristos   gen_41 ();
136766e63ce3Schristos   gen_42 ();
136866e63ce3Schristos   gen_43 ();
136966e63ce3Schristos   gen_44 ();
137066e63ce3Schristos   gen_45 ();
137166e63ce3Schristos   gen_46 ();
137266e63ce3Schristos   gen_47 ();
137366e63ce3Schristos   gen_48 ();
137466e63ce3Schristos   gen_49 ();
137566e63ce3Schristos   gen_50 ();
137666e63ce3Schristos   gen_51 ();
137766e63ce3Schristos   gen_52 ();
137866e63ce3Schristos   gen_53 ();
137966e63ce3Schristos   gen_54 ();
138066e63ce3Schristos   gen_55 ();
138166e63ce3Schristos   gen_56 ();
138266e63ce3Schristos   gen_57 ();
138366e63ce3Schristos   gen_58 ();
138466e63ce3Schristos   gen_59 ();
138566e63ce3Schristos   gen_60 ();
138666e63ce3Schristos   gen_61 ();
138766e63ce3Schristos   gen_62 ();
138866e63ce3Schristos   gen_63 ();
138966e63ce3Schristos   gen_TERM ();
139066e63ce3Schristos 
139166e63ce3Schristos   return 0;
139266e63ce3Schristos }
1393