1 #include <signal.h>
2 #include <unistd.h>
3 
4 
5 /* Signal handlers, we set breakpoints in them to make sure that the
6    signals really get delivered.  */
7 
8 #ifdef PROTOTYPES
9 void
handle_ABRT(int sig)10 handle_ABRT (int sig)
11 #else
12 void
13 handle_ABRT (sig)
14      int sig;
15 #endif
16 {
17 }
18 
19 #ifdef PROTOTYPES
20 void
handle_HUP(int sig)21 handle_HUP (int sig)
22 #else
23 void
24 handle_HUP (sig)
25      int sig;
26 #endif
27 {
28 }
29 
30 #ifdef PROTOTYPES
31 void
handle_QUIT(int sig)32 handle_QUIT (int sig)
33 #else
34 void
35 handle_QUIT (sig)
36      int sig;
37 #endif
38 {
39 }
40 
41 #ifdef PROTOTYPES
42 void
handle_ILL(int sig)43 handle_ILL (int sig)
44 #else
45 void
46 handle_ILL (sig)
47      int sig;
48 #endif
49 {
50 }
51 
52 #ifdef PROTOTYPES
53 void
handle_EMT(int sig)54 handle_EMT (int sig)
55 #else
56 void
57 handle_EMT (sig)
58      int sig;
59 #endif
60 {
61 }
62 
63 #ifdef PROTOTYPES
64 void
handle_FPE(int sig)65 handle_FPE (int sig)
66 #else
67 void
68 handle_FPE (sig)
69      int sig;
70 #endif
71 {
72 }
73 
74 #ifdef PROTOTYPES
75 void
handle_BUS(int sig)76 handle_BUS (int sig)
77 #else
78 void
79 handle_BUS (sig)
80      int sig;
81 #endif
82 {
83 }
84 
85 #ifdef PROTOTYPES
86 void
handle_SEGV(int sig)87 handle_SEGV (int sig)
88 #else
89 void
90 handle_SEGV (sig)
91      int sig;
92 #endif
93 {
94 }
95 
96 #ifdef PROTOTYPES
97 void
handle_SYS(int sig)98 handle_SYS (int sig)
99 #else
100 void
101 handle_SYS (sig)
102      int sig;
103 #endif
104 {
105 }
106 
107 #ifdef PROTOTYPES
108 void
handle_PIPE(int sig)109 handle_PIPE (int sig)
110 #else
111 void
112 handle_PIPE (sig)
113      int sig;
114 #endif
115 {
116 }
117 
118 #ifdef PROTOTYPES
119 void
handle_ALRM(int sig)120 handle_ALRM (int sig)
121 #else
122 void
123 handle_ALRM (sig)
124      int sig;
125 #endif
126 {
127 }
128 
129 #ifdef PROTOTYPES
130 void
handle_URG(int sig)131 handle_URG (int sig)
132 #else
133 void
134 handle_URG (sig)
135      int sig;
136 #endif
137 {
138 }
139 
140 #ifdef PROTOTYPES
141 void
handle_TSTP(int sig)142 handle_TSTP (int sig)
143 #else
144 void
145 handle_TSTP (sig)
146      int sig;
147 #endif
148 {
149 }
150 
151 #ifdef PROTOTYPES
152 void
handle_CONT(int sig)153 handle_CONT (int sig)
154 #else
155 void
156 handle_CONT (sig)
157      int sig;
158 #endif
159 {
160 }
161 
162 #ifdef PROTOTYPES
163 void
handle_CHLD(int sig)164 handle_CHLD (int sig)
165 #else
166 void
167 handle_CHLD (sig)
168      int sig;
169 #endif
170 {
171 }
172 
173 #ifdef PROTOTYPES
174 void
handle_TTIN(int sig)175 handle_TTIN (int sig)
176 #else
177 void
178 handle_TTIN (sig)
179      int sig;
180 #endif
181 {
182 }
183 
184 #ifdef PROTOTYPES
185 void
handle_TTOU(int sig)186 handle_TTOU (int sig)
187 #else
188 void
189 handle_TTOU (sig)
190      int sig;
191 #endif
192 {
193 }
194 
195 #ifdef PROTOTYPES
196 void
handle_IO(int sig)197 handle_IO (int sig)
198 #else
199 void
200 handle_IO (sig)
201      int sig;
202 #endif
203 {
204 }
205 
206 #ifdef PROTOTYPES
207 void
handle_XCPU(int sig)208 handle_XCPU (int sig)
209 #else
210 void
211 handle_XCPU (sig)
212      int sig;
213 #endif
214 {
215 }
216 
217 #ifdef PROTOTYPES
218 void
handle_XFSZ(int sig)219 handle_XFSZ (int sig)
220 #else
221 void
222 handle_XFSZ (sig)
223      int sig;
224 #endif
225 {
226 }
227 
228 #ifdef PROTOTYPES
229 void
handle_VTALRM(int sig)230 handle_VTALRM (int sig)
231 #else
232 void
233 handle_VTALRM (sig)
234      int sig;
235 #endif
236 {
237 }
238 
239 #ifdef PROTOTYPES
240 void
handle_PROF(int sig)241 handle_PROF (int sig)
242 #else
243 void
244 handle_PROF (sig)
245      int sig;
246 #endif
247 {
248 }
249 
250 #ifdef PROTOTYPES
251 void
handle_WINCH(int sig)252 handle_WINCH (int sig)
253 #else
254 void
255 handle_WINCH (sig)
256      int sig;
257 #endif
258 {
259 }
260 
261 #ifdef PROTOTYPES
262 void
handle_LOST(int sig)263 handle_LOST (int sig)
264 #else
265 void
266 handle_LOST (sig)
267      int sig;
268 #endif
269 {
270 }
271 
272 #ifdef PROTOTYPES
273 void
handle_USR1(int sig)274 handle_USR1 (int sig)
275 #else
276 void
277 handle_USR1 (sig)
278      int sig;
279 #endif
280 {
281 }
282 
283 #ifdef PROTOTYPES
284 void
handle_USR2(int sig)285 handle_USR2 (int sig)
286 #else
287 void
288 handle_USR2 (sig)
289      int sig;
290 #endif
291 {
292 }
293 
294 #ifdef PROTOTYPES
295 void
handle_PWR(int sig)296 handle_PWR (int sig)
297 #else
298 void
299 handle_PWR (sig)
300      int sig;
301 #endif
302 {
303 }
304 
305 #ifdef PROTOTYPES
306 void
handle_POLL(int sig)307 handle_POLL (int sig)
308 #else
309 void
310 handle_POLL (sig)
311      int sig;
312 #endif
313 {
314 }
315 
316 #ifdef PROTOTYPES
317 void
handle_WIND(int sig)318 handle_WIND (int sig)
319 #else
320 void
321 handle_WIND (sig)
322      int sig;
323 #endif
324 {
325 }
326 
327 #ifdef PROTOTYPES
328 void
handle_PHONE(int sig)329 handle_PHONE (int sig)
330 #else
331 void
332 handle_PHONE (sig)
333      int sig;
334 #endif
335 {
336 }
337 
338 #ifdef PROTOTYPES
339 void
handle_WAITING(int sig)340 handle_WAITING (int sig)
341 #else
342 void
343 handle_WAITING (sig)
344      int sig;
345 #endif
346 {
347 }
348 
349 #ifdef PROTOTYPES
350 void
handle_LWP(int sig)351 handle_LWP (int sig)
352 #else
353 void
354 handle_LWP (sig)
355      int sig;
356 #endif
357 {
358 }
359 
360 #ifdef PROTOTYPES
361 void
handle_DANGER(int sig)362 handle_DANGER (int sig)
363 #else
364 void
365 handle_DANGER (sig)
366      int sig;
367 #endif
368 {
369 }
370 
371 #ifdef PROTOTYPES
372 void
handle_GRANT(int sig)373 handle_GRANT (int sig)
374 #else
375 void
376 handle_GRANT (sig)
377      int sig;
378 #endif
379 {
380 }
381 
382 #ifdef PROTOTYPES
383 void
handle_RETRACT(int sig)384 handle_RETRACT (int sig)
385 #else
386 void
387 handle_RETRACT (sig)
388      int sig;
389 #endif
390 {
391 }
392 
393 #ifdef PROTOTYPES
394 void
handle_MSG(int sig)395 handle_MSG (int sig)
396 #else
397 void
398 handle_MSG (sig)
399      int sig;
400 #endif
401 {
402 }
403 
404 #ifdef PROTOTYPES
405 void
handle_SOUND(int sig)406 handle_SOUND (int sig)
407 #else
408 void
409 handle_SOUND (sig)
410      int sig;
411 #endif
412 {
413 }
414 
415 #ifdef PROTOTYPES
416 void
handle_SAK(int sig)417 handle_SAK (int sig)
418 #else
419 void
420 handle_SAK (sig)
421      int sig;
422 #endif
423 {
424 }
425 
426 #ifdef PROTOTYPES
427 void
handle_PRIO(int sig)428 handle_PRIO (int sig)
429 #else
430 void
431 handle_PRIO (sig)
432      int sig;
433 #endif
434 {
435 }
436 
437 #ifdef PROTOTYPES
438 void
handle_33(int sig)439 handle_33 (int sig)
440 #else
441 void
442 handle_33 (sig)
443      int sig;
444 #endif
445 {
446 }
447 
448 #ifdef PROTOTYPES
449 void
handle_34(int sig)450 handle_34 (int sig)
451 #else
452 void
453 handle_34 (sig)
454      int sig;
455 #endif
456 {
457 }
458 
459 #ifdef PROTOTYPES
460 void
handle_35(int sig)461 handle_35 (int sig)
462 #else
463 void
464 handle_35 (sig)
465      int sig;
466 #endif
467 {
468 }
469 
470 #ifdef PROTOTYPES
471 void
handle_36(int sig)472 handle_36 (int sig)
473 #else
474 void
475 handle_36 (sig)
476      int sig;
477 #endif
478 {
479 }
480 
481 #ifdef PROTOTYPES
482 void
handle_37(int sig)483 handle_37 (int sig)
484 #else
485 void
486 handle_37 (sig)
487      int sig;
488 #endif
489 {
490 }
491 
492 #ifdef PROTOTYPES
493 void
handle_38(int sig)494 handle_38 (int sig)
495 #else
496 void
497 handle_38 (sig)
498      int sig;
499 #endif
500 {
501 }
502 
503 #ifdef PROTOTYPES
504 void
handle_39(int sig)505 handle_39 (int sig)
506 #else
507 void
508 handle_39 (sig)
509      int sig;
510 #endif
511 {
512 }
513 
514 #ifdef PROTOTYPES
515 void
handle_40(int sig)516 handle_40 (int sig)
517 #else
518 void
519 handle_40 (sig)
520      int sig;
521 #endif
522 {
523 }
524 
525 #ifdef PROTOTYPES
526 void
handle_41(int sig)527 handle_41 (int sig)
528 #else
529 void
530 handle_41 (sig)
531      int sig;
532 #endif
533 {
534 }
535 
536 #ifdef PROTOTYPES
537 void
handle_42(int sig)538 handle_42 (int sig)
539 #else
540 void
541 handle_42 (sig)
542      int sig;
543 #endif
544 {
545 }
546 
547 #ifdef PROTOTYPES
548 void
handle_43(int sig)549 handle_43 (int sig)
550 #else
551 void
552 handle_43 (sig)
553      int sig;
554 #endif
555 {
556 }
557 
558 #ifdef PROTOTYPES
559 void
handle_44(int sig)560 handle_44 (int sig)
561 #else
562 void
563 handle_44 (sig)
564      int sig;
565 #endif
566 {
567 }
568 
569 #ifdef PROTOTYPES
570 void
handle_45(int sig)571 handle_45 (int sig)
572 #else
573 void
574 handle_45 (sig)
575      int sig;
576 #endif
577 {
578 }
579 
580 #ifdef PROTOTYPES
581 void
handle_46(int sig)582 handle_46 (int sig)
583 #else
584 void
585 handle_46 (sig)
586      int sig;
587 #endif
588 {
589 }
590 
591 #ifdef PROTOTYPES
592 void
handle_47(int sig)593 handle_47 (int sig)
594 #else
595 void
596 handle_47 (sig)
597      int sig;
598 #endif
599 {
600 }
601 
602 #ifdef PROTOTYPES
603 void
handle_48(int sig)604 handle_48 (int sig)
605 #else
606 void
607 handle_48 (sig)
608      int sig;
609 #endif
610 {
611 }
612 
613 #ifdef PROTOTYPES
614 void
handle_49(int sig)615 handle_49 (int sig)
616 #else
617 void
618 handle_49 (sig)
619      int sig;
620 #endif
621 {
622 }
623 
624 #ifdef PROTOTYPES
625 void
handle_50(int sig)626 handle_50 (int sig)
627 #else
628 void
629 handle_50 (sig)
630      int sig;
631 #endif
632 {
633 }
634 
635 #ifdef PROTOTYPES
636 void
handle_51(int sig)637 handle_51 (int sig)
638 #else
639 void
640 handle_51 (sig)
641      int sig;
642 #endif
643 {
644 }
645 
646 #ifdef PROTOTYPES
647 void
handle_52(int sig)648 handle_52 (int sig)
649 #else
650 void
651 handle_52 (sig)
652      int sig;
653 #endif
654 {
655 }
656 
657 #ifdef PROTOTYPES
658 void
handle_53(int sig)659 handle_53 (int sig)
660 #else
661 void
662 handle_53 (sig)
663      int sig;
664 #endif
665 {
666 }
667 
668 #ifdef PROTOTYPES
669 void
handle_54(int sig)670 handle_54 (int sig)
671 #else
672 void
673 handle_54 (sig)
674      int sig;
675 #endif
676 {
677 }
678 
679 #ifdef PROTOTYPES
680 void
handle_55(int sig)681 handle_55 (int sig)
682 #else
683 void
684 handle_55 (sig)
685      int sig;
686 #endif
687 {
688 }
689 
690 #ifdef PROTOTYPES
691 void
handle_56(int sig)692 handle_56 (int sig)
693 #else
694 void
695 handle_56 (sig)
696      int sig;
697 #endif
698 {
699 }
700 
701 #ifdef PROTOTYPES
702 void
handle_57(int sig)703 handle_57 (int sig)
704 #else
705 void
706 handle_57 (sig)
707      int sig;
708 #endif
709 {
710 }
711 
712 #ifdef PROTOTYPES
713 void
handle_58(int sig)714 handle_58 (int sig)
715 #else
716 void
717 handle_58 (sig)
718      int sig;
719 #endif
720 {
721 }
722 
723 #ifdef PROTOTYPES
724 void
handle_59(int sig)725 handle_59 (int sig)
726 #else
727 void
728 handle_59 (sig)
729      int sig;
730 #endif
731 {
732 }
733 
734 #ifdef PROTOTYPES
735 void
handle_60(int sig)736 handle_60 (int sig)
737 #else
738 void
739 handle_60 (sig)
740      int sig;
741 #endif
742 {
743 }
744 
745 #ifdef PROTOTYPES
746 void
handle_61(int sig)747 handle_61 (int sig)
748 #else
749 void
750 handle_61 (sig)
751      int sig;
752 #endif
753 {
754 }
755 
756 #ifdef PROTOTYPES
757 void
handle_62(int sig)758 handle_62 (int sig)
759 #else
760 void
761 handle_62 (sig)
762      int sig;
763 #endif
764 {
765 }
766 
767 #ifdef PROTOTYPES
768 void
handle_63(int sig)769 handle_63 (int sig)
770 #else
771 void
772 handle_63 (sig)
773      int sig;
774 #endif
775 {
776 }
777 
778 #ifdef PROTOTYPES
779 void
handle_TERM(int sig)780 handle_TERM (int sig)
781 #else
782 void
783 handle_TERM (sig)
784      int sig;
785 #endif
786 {
787 }
788 
789 /* Functions to send signals.  These also serve as markers.  */
790 int
gen_ABRT()791 gen_ABRT ()
792 {
793   kill (getpid (), SIGABRT);
794   return 0;
795 }
796 
797 int
gen_HUP()798 gen_HUP ()
799 {
800 #ifdef SIGHUP
801   kill (getpid (), SIGHUP);
802 #else
803   handle_HUP (0);
804 #endif
805 return 0;
806 }
807 
808 int
gen_QUIT()809 gen_QUIT ()
810 {
811 #ifdef SIGQUIT
812   kill (getpid (), SIGQUIT);
813 #else
814   handle_QUIT (0);
815 #endif
816 return 0;
817 }
818 
819 int
gen_ILL()820 gen_ILL ()
821 {
822 #ifdef SIGILL
823   kill (getpid (), SIGILL);
824 #else
825   handle_ILL (0);
826 #endif
827 return 0;
828 }
829 
830 int
gen_EMT()831 gen_EMT ()
832 {
833 #ifdef SIGEMT
834   kill (getpid (), SIGEMT);
835 #else
836   handle_EMT (0);
837 #endif
838 return 0;
839 }
840 
841 int x;
842 
843 int
gen_FPE()844 gen_FPE ()
845 {
846   /* The intent behind generating SIGFPE this way is to check the mapping
847      from the CPU exception itself to the signals.  It would be nice to
848      do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
849      test might turn out to be insufficiently portable.  */
850 
851 #if 0
852   /* Loses on the PA because after the signal handler executes we try to
853      re-execute the failing instruction again.  Perhaps we could siglongjmp
854      out of the signal handler?  */
855   /* The expect script looks for the word "kill"; don't delete it.  */
856   return 5 / x; /* and we both started jumping up and down yelling kill */
857 #else
858   kill (getpid (), SIGFPE);
859 #endif
860 return 0;
861 }
862 
863 int
gen_BUS()864 gen_BUS ()
865 {
866 #ifdef SIGBUS
867   kill (getpid (), SIGBUS);
868 #else
869   handle_BUS (0);
870 #endif
871 return 0;
872 }
873 
874 int
gen_SEGV()875 gen_SEGV ()
876 {
877 #ifdef SIGSEGV
878   kill (getpid (), SIGSEGV);
879 #else
880   handle_SEGV (0);
881 #endif
882 return 0;
883 }
884 
885 int
gen_SYS()886 gen_SYS ()
887 {
888 #ifdef SIGSYS
889   kill (getpid (), SIGSYS);
890 #else
891   handle_SYS (0);
892 #endif
893 return 0;
894 }
895 
896 int
gen_PIPE()897 gen_PIPE ()
898 {
899 #ifdef SIGPIPE
900   kill (getpid (), SIGPIPE);
901 #else
902   handle_PIPE (0);
903 #endif
904 return 0;
905 }
906 
907 int
gen_ALRM()908 gen_ALRM ()
909 {
910 #ifdef SIGALRM
911   kill (getpid (), SIGALRM);
912 #else
913   handle_ALRM (0);
914 #endif
915 return 0;
916 }
917 
918 int
gen_URG()919 gen_URG ()
920 {
921 #ifdef SIGURG
922   kill (getpid (), SIGURG);
923 #else
924   handle_URG (0);
925 #endif
926 return 0;
927 }
928 
929 int
gen_TSTP()930 gen_TSTP ()
931 {
932 #ifdef SIGTSTP
933   kill (getpid (), SIGTSTP);
934 #else
935   handle_TSTP (0);
936 #endif
937 return 0;
938 }
939 
940 int
gen_CONT()941 gen_CONT ()
942 {
943 #ifdef SIGCONT
944   kill (getpid (), SIGCONT);
945 #else
946   handle_CONT (0);
947 #endif
948 return 0;
949 }
950 
951 int
gen_CHLD()952 gen_CHLD ()
953 {
954 #ifdef SIGCHLD
955   kill (getpid (), SIGCHLD);
956 #else
957   handle_CHLD (0);
958 #endif
959 return 0;
960 }
961 
962 int
gen_TTIN()963 gen_TTIN ()
964 {
965 #ifdef SIGTTIN
966   kill (getpid (), SIGTTIN);
967 #else
968   handle_TTIN (0);
969 #endif
970 return 0;
971 }
972 
973 int
gen_TTOU()974 gen_TTOU ()
975 {
976 #ifdef SIGTTOU
977   kill (getpid (), SIGTTOU);
978 #else
979   handle_TTOU (0);
980 #endif
981 return 0;
982 }
983 
984 int
gen_IO()985 gen_IO ()
986 {
987 #ifdef SIGIO
988   kill (getpid (), SIGIO);
989 #else
990   handle_IO (0);
991 #endif
992 return 0;
993 }
994 
995 int
gen_XCPU()996 gen_XCPU ()
997 {
998 #ifdef SIGXCPU
999   kill (getpid (), SIGXCPU);
1000 #else
1001   handle_XCPU (0);
1002 #endif
1003 return 0;
1004 }
1005 
1006 int
gen_XFSZ()1007 gen_XFSZ ()
1008 {
1009 #ifdef SIGXFSZ
1010   kill (getpid (), SIGXFSZ);
1011 #else
1012   handle_XFSZ (0);
1013 #endif
1014 return 0;
1015 }
1016 
1017 int
gen_VTALRM()1018 gen_VTALRM ()
1019 {
1020 #ifdef SIGVTALRM
1021   kill (getpid (), SIGVTALRM);
1022 #else
1023   handle_VTALRM (0);
1024 #endif
1025 return 0;
1026 }
1027 
1028 int
gen_PROF()1029 gen_PROF ()
1030 {
1031 #ifdef SIGPROF
1032   kill (getpid (), SIGPROF);
1033 #else
1034   handle_PROF (0);
1035 #endif
1036 return 0;
1037 }
1038 
1039 int
gen_WINCH()1040 gen_WINCH ()
1041 {
1042 #ifdef SIGWINCH
1043   kill (getpid (), SIGWINCH);
1044 #else
1045   handle_WINCH (0);
1046 #endif
1047 return 0;
1048 }
1049 
1050 int
gen_LOST()1051 gen_LOST ()
1052 {
1053 #if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
1054   kill (getpid (), SIGLOST);
1055 #else
1056   handle_LOST (0);
1057 #endif
1058 return 0;
1059 }
1060 
1061 int
gen_USR1()1062 gen_USR1 ()
1063 {
1064 #ifdef SIGUSR1
1065   kill (getpid (), SIGUSR1);
1066 #else
1067   handle_USR1 (0);
1068 #endif
1069 return 0;
1070 }
1071 
1072 int
gen_USR2()1073 gen_USR2 ()
1074 {
1075 #ifdef SIGUSR2
1076   kill (getpid (), SIGUSR2);
1077 #else
1078   handle_USR2 (0);
1079 #endif
1080 return 0;
1081 }
1082 
1083 int
gen_PWR()1084 gen_PWR ()
1085 {
1086 #ifdef SIGPWR
1087   kill (getpid (), SIGPWR);
1088 #else
1089   handle_PWR (0);
1090 #endif
1091 return 0;
1092 }
1093 
1094 int
gen_POLL()1095 gen_POLL ()
1096 {
1097 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
1098   kill (getpid (), SIGPOLL);
1099 #else
1100   handle_POLL (0);
1101 #endif
1102 return 0;
1103 }
1104 
1105 int
gen_WIND()1106 gen_WIND ()
1107 {
1108 #ifdef SIGWIND
1109   kill (getpid (), SIGWIND);
1110 #else
1111   handle_WIND (0);
1112 #endif
1113 return 0;
1114 }
1115 
1116 int
gen_PHONE()1117 gen_PHONE ()
1118 {
1119 #ifdef SIGPHONE
1120   kill (getpid (), SIGPHONE);
1121 #else
1122   handle_PHONE (0);
1123 #endif
1124 return 0;
1125 }
1126 
1127 int
gen_WAITING()1128 gen_WAITING ()
1129 {
1130 #ifdef SIGWAITING
1131   kill (getpid (), SIGWAITING);
1132 #else
1133   handle_WAITING (0);
1134 #endif
1135 return 0;
1136 }
1137 
1138 int
gen_LWP()1139 gen_LWP ()
1140 {
1141 #ifdef SIGLWP
1142   kill (getpid (), SIGLWP);
1143 #else
1144   handle_LWP (0);
1145 #endif
1146 return 0;
1147 }
1148 
1149 int
gen_DANGER()1150 gen_DANGER ()
1151 {
1152 #ifdef SIGDANGER
1153   kill (getpid (), SIGDANGER);
1154 #else
1155   handle_DANGER (0);
1156 #endif
1157 return 0;
1158 }
1159 
1160 int
gen_GRANT()1161 gen_GRANT ()
1162 {
1163 #ifdef SIGGRANT
1164   kill (getpid (), SIGGRANT);
1165 #else
1166   handle_GRANT (0);
1167 #endif
1168 return 0;
1169 }
1170 
1171 int
gen_RETRACT()1172 gen_RETRACT ()
1173 {
1174 #ifdef SIGRETRACT
1175   kill (getpid (), SIGRETRACT);
1176 #else
1177   handle_RETRACT (0);
1178 #endif
1179 return 0;
1180 }
1181 
1182 int
gen_MSG()1183 gen_MSG ()
1184 {
1185 #ifdef SIGMSG
1186   kill (getpid (), SIGMSG);
1187 #else
1188   handle_MSG (0);
1189 #endif
1190 return 0;
1191 }
1192 
1193 int
gen_SOUND()1194 gen_SOUND ()
1195 {
1196 #ifdef SIGSOUND
1197   kill (getpid (), SIGSOUND);
1198 #else
1199   handle_SOUND (0);
1200 #endif
1201 return 0;
1202 }
1203 
1204 int
gen_SAK()1205 gen_SAK ()
1206 {
1207 #ifdef SIGSAK
1208   kill (getpid (), SIGSAK);
1209 #else
1210   handle_SAK (0);
1211 #endif
1212 return 0;
1213 }
1214 
1215 int
gen_PRIO()1216 gen_PRIO ()
1217 {
1218 #ifdef SIGPRIO
1219   kill (getpid (), SIGPRIO);
1220 #else
1221   handle_PRIO (0);
1222 #endif
1223 return 0;
1224 }
1225 
1226 int
gen_33()1227 gen_33 ()
1228 {
1229 #ifdef SIG33
1230   kill (getpid (), 33);
1231 #else
1232   handle_33 (0);
1233 #endif
1234 return 0;
1235 }
1236 
1237 int
gen_34()1238 gen_34 ()
1239 {
1240 #ifdef SIG34
1241   kill (getpid (), 34);
1242 #else
1243   handle_34 (0);
1244 #endif
1245 return 0;
1246 }
1247 
1248 int
gen_35()1249 gen_35 ()
1250 {
1251 #ifdef SIG35
1252   kill (getpid (), 35);
1253 #else
1254   handle_35 (0);
1255 #endif
1256 return 0;
1257 }
1258 
1259 int
gen_36()1260 gen_36 ()
1261 {
1262 #ifdef SIG36
1263   kill (getpid (), 36);
1264 #else
1265   handle_36 (0);
1266 #endif
1267 return 0;
1268 }
1269 
1270 int
gen_37()1271 gen_37 ()
1272 {
1273 #ifdef SIG37
1274   kill (getpid (), 37);
1275 #else
1276   handle_37 (0);
1277 #endif
1278 return 0;
1279 }
1280 
1281 int
gen_38()1282 gen_38 ()
1283 {
1284 #ifdef SIG38
1285   kill (getpid (), 38);
1286 #else
1287   handle_38 (0);
1288 #endif
1289 return 0;
1290 }
1291 
1292 int
gen_39()1293 gen_39 ()
1294 {
1295 #ifdef SIG39
1296   kill (getpid (), 39);
1297 #else
1298   handle_39 (0);
1299 #endif
1300 return 0;
1301 }
1302 
1303 int
gen_40()1304 gen_40 ()
1305 {
1306 #ifdef SIG40
1307   kill (getpid (), 40);
1308 #else
1309   handle_40 (0);
1310 #endif
1311 return 0;
1312 }
1313 
1314 int
gen_41()1315 gen_41 ()
1316 {
1317 #ifdef SIG41
1318   kill (getpid (), 41);
1319 #else
1320   handle_41 (0);
1321 #endif
1322 return 0;
1323 }
1324 
1325 int
gen_42()1326 gen_42 ()
1327 {
1328 #ifdef SIG42
1329   kill (getpid (), 42);
1330 #else
1331   handle_42 (0);
1332 #endif
1333 return 0;
1334 }
1335 
1336 int
gen_43()1337 gen_43 ()
1338 {
1339 #ifdef SIG43
1340   kill (getpid (), 43);
1341 #else
1342   handle_43 (0);
1343 #endif
1344 return 0;
1345 }
1346 
1347 int
gen_44()1348 gen_44 ()
1349 {
1350 #ifdef SIG44
1351   kill (getpid (), 44);
1352 #else
1353   handle_44 (0);
1354 #endif
1355 return 0;
1356 }
1357 
1358 int
gen_45()1359 gen_45 ()
1360 {
1361 #ifdef SIG45
1362   kill (getpid (), 45);
1363 #else
1364   handle_45 (0);
1365 #endif
1366 return 0;
1367 }
1368 
1369 int
gen_46()1370 gen_46 ()
1371 {
1372 #ifdef SIG46
1373   kill (getpid (), 46);
1374 #else
1375   handle_46 (0);
1376 #endif
1377 return 0;
1378 }
1379 
1380 int
gen_47()1381 gen_47 ()
1382 {
1383 #ifdef SIG47
1384   kill (getpid (), 47);
1385 #else
1386   handle_47 (0);
1387 #endif
1388 return 0;
1389 }
1390 
1391 int
gen_48()1392 gen_48 ()
1393 {
1394 #ifdef SIG48
1395   kill (getpid (), 48);
1396 #else
1397   handle_48 (0);
1398 #endif
1399 return 0;
1400 }
1401 
1402 int
gen_49()1403 gen_49 ()
1404 {
1405 #ifdef SIG49
1406   kill (getpid (), 49);
1407 #else
1408   handle_49 (0);
1409 #endif
1410 return 0;
1411 }
1412 
1413 int
gen_50()1414 gen_50 ()
1415 {
1416 #ifdef SIG50
1417   kill (getpid (), 50);
1418 #else
1419   handle_50 (0);
1420 #endif
1421 return 0;
1422 }
1423 
1424 int
gen_51()1425 gen_51 ()
1426 {
1427 #ifdef SIG51
1428   kill (getpid (), 51);
1429 #else
1430   handle_51 (0);
1431 #endif
1432 return 0;
1433 }
1434 
1435 int
gen_52()1436 gen_52 ()
1437 {
1438 #ifdef SIG52
1439   kill (getpid (), 52);
1440 #else
1441   handle_52 (0);
1442 #endif
1443 return 0;
1444 }
1445 
1446 int
gen_53()1447 gen_53 ()
1448 {
1449 #ifdef SIG53
1450   kill (getpid (), 53);
1451 #else
1452   handle_53 (0);
1453 #endif
1454 return 0;
1455 }
1456 
1457 int
gen_54()1458 gen_54 ()
1459 {
1460 #ifdef SIG54
1461   kill (getpid (), 54);
1462 #else
1463   handle_54 (0);
1464 #endif
1465 return 0;
1466 }
1467 
1468 int
gen_55()1469 gen_55 ()
1470 {
1471 #ifdef SIG55
1472   kill (getpid (), 55);
1473 #else
1474   handle_55 (0);
1475 #endif
1476 return 0;
1477 }
1478 
1479 int
gen_56()1480 gen_56 ()
1481 {
1482 #ifdef SIG56
1483   kill (getpid (), 56);
1484 #else
1485   handle_56 (0);
1486 #endif
1487 return 0;
1488 }
1489 
1490 int
gen_57()1491 gen_57 ()
1492 {
1493 #ifdef SIG57
1494   kill (getpid (), 57);
1495 #else
1496   handle_57 (0);
1497 #endif
1498 return 0;
1499 }
1500 
1501 int
gen_58()1502 gen_58 ()
1503 {
1504 #ifdef SIG58
1505   kill (getpid (), 58);
1506 #else
1507   handle_58 (0);
1508 #endif
1509 return 0;
1510 }
1511 
1512 int
gen_59()1513 gen_59 ()
1514 {
1515 #ifdef SIG59
1516   kill (getpid (), 59);
1517 #else
1518   handle_59 (0);
1519 #endif
1520 return 0;
1521 }
1522 
1523 int
gen_60()1524 gen_60 ()
1525 {
1526 #ifdef SIG60
1527   kill (getpid (), 60);
1528 #else
1529   handle_60 (0);
1530 #endif
1531 return 0;
1532 }
1533 
1534 int
gen_61()1535 gen_61 ()
1536 {
1537 #ifdef SIG61
1538   kill (getpid (), 61);
1539 #else
1540   handle_61 (0);
1541 #endif
1542 return 0;
1543 }
1544 
1545 int
gen_62()1546 gen_62 ()
1547 {
1548 #ifdef SIG62
1549   kill (getpid (), 62);
1550 #else
1551   handle_62 (0);
1552 #endif
1553 return 0;
1554 }
1555 
1556 int
gen_63()1557 gen_63 ()
1558 {
1559 #ifdef SIG63
1560   kill (getpid (), 63);
1561 #else
1562   handle_63 (0);
1563 #endif
1564 return 0;
1565 }
1566 
1567 int
gen_TERM()1568 gen_TERM ()
1569 {
1570   kill (getpid (), SIGTERM);
1571 return 0;
1572 }
1573 
1574 int
main()1575 main ()
1576 {
1577 
1578 #ifdef SIG_SETMASK
1579   /* Ensure all the signals aren't blocked.
1580      The environment in which the testsuite is run may have blocked some
1581      for whatever reason.  */
1582   {
1583     sigset_t newset;
1584     sigemptyset (&newset);
1585     sigprocmask (SIG_SETMASK, &newset, NULL);
1586   }
1587 #endif
1588 
1589   signal (SIGABRT, handle_ABRT);
1590 #ifdef SIGHUP
1591   signal (SIGHUP, handle_HUP);
1592 #endif
1593 #ifdef SIGQUIT
1594   signal (SIGQUIT, handle_QUIT);
1595 #endif
1596 #ifdef SIGILL
1597   signal (SIGILL, handle_ILL);
1598 #endif
1599 #ifdef SIGEMT
1600   signal (SIGEMT, handle_EMT);
1601 #endif
1602 #ifdef SIGFPE
1603   signal (SIGFPE, handle_FPE);
1604 #endif
1605 #ifdef SIGBUS
1606   signal (SIGBUS, handle_BUS);
1607 #endif
1608 #ifdef SIGSEGV
1609   signal (SIGSEGV, handle_SEGV);
1610 #endif
1611 #ifdef SIGSYS
1612   signal (SIGSYS, handle_SYS);
1613 #endif
1614 #ifdef SIGPIPE
1615   signal (SIGPIPE, handle_PIPE);
1616 #endif
1617 #ifdef SIGALRM
1618   signal (SIGALRM, handle_ALRM);
1619 #endif
1620 #ifdef SIGURG
1621   signal (SIGURG, handle_URG);
1622 #endif
1623 #ifdef SIGTSTP
1624   signal (SIGTSTP, handle_TSTP);
1625 #endif
1626 #ifdef SIGCONT
1627   signal (SIGCONT, handle_CONT);
1628 #endif
1629 #ifdef SIGCHLD
1630   signal (SIGCHLD, handle_CHLD);
1631 #endif
1632 #ifdef SIGTTIN
1633   signal (SIGTTIN, handle_TTIN);
1634 #endif
1635 #ifdef SIGTTOU
1636   signal (SIGTTOU, handle_TTOU);
1637 #endif
1638 #ifdef SIGIO
1639   signal (SIGIO, handle_IO);
1640 #endif
1641 #ifdef SIGXCPU
1642   signal (SIGXCPU, handle_XCPU);
1643 #endif
1644 #ifdef SIGXFSZ
1645   signal (SIGXFSZ, handle_XFSZ);
1646 #endif
1647 #ifdef SIGVTALRM
1648   signal (SIGVTALRM, handle_VTALRM);
1649 #endif
1650 #ifdef SIGPROF
1651   signal (SIGPROF, handle_PROF);
1652 #endif
1653 #ifdef SIGWINCH
1654   signal (SIGWINCH, handle_WINCH);
1655 #endif
1656 #if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
1657   signal (SIGLOST, handle_LOST);
1658 #endif
1659 #ifdef SIGUSR1
1660   signal (SIGUSR1, handle_USR1);
1661 #endif
1662 #ifdef SIGUSR2
1663   signal (SIGUSR2, handle_USR2);
1664 #endif
1665 #ifdef SIGPWR
1666   signal (SIGPWR, handle_PWR);
1667 #endif
1668 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
1669   signal (SIGPOLL, handle_POLL);
1670 #endif
1671 #ifdef SIGWIND
1672   signal (SIGWIND, handle_WIND);
1673 #endif
1674 #ifdef SIGPHONE
1675   signal (SIGPHONE, handle_PHONE);
1676 #endif
1677 #ifdef SIGWAITING
1678   signal (SIGWAITING, handle_WAITING);
1679 #endif
1680 #ifdef SIGLWP
1681   signal (SIGLWP, handle_LWP);
1682 #endif
1683 #ifdef SIGDANGER
1684   signal (SIGDANGER, handle_DANGER);
1685 #endif
1686 #ifdef SIGGRANT
1687   signal (SIGGRANT, handle_GRANT);
1688 #endif
1689 #ifdef SIGRETRACT
1690   signal (SIGRETRACT, handle_RETRACT);
1691 #endif
1692 #ifdef SIGMSG
1693   signal (SIGMSG, handle_MSG);
1694 #endif
1695 #ifdef SIGSOUND
1696   signal (SIGSOUND, handle_SOUND);
1697 #endif
1698 #ifdef SIGSAK
1699   signal (SIGSAK, handle_SAK);
1700 #endif
1701 #ifdef SIGPRIO
1702   signal (SIGPRIO, handle_PRIO);
1703 #endif
1704 #ifdef __Lynx__
1705   /* Lynx doesn't seem to have anything in signal.h for this.  */
1706   signal (33, handle_33);
1707   signal (34, handle_34);
1708   signal (35, handle_35);
1709   signal (36, handle_36);
1710   signal (37, handle_37);
1711   signal (38, handle_38);
1712   signal (39, handle_39);
1713   signal (40, handle_40);
1714   signal (41, handle_41);
1715   signal (42, handle_42);
1716   signal (43, handle_43);
1717   signal (44, handle_44);
1718   signal (45, handle_45);
1719   signal (46, handle_46);
1720   signal (47, handle_47);
1721   signal (48, handle_48);
1722   signal (49, handle_49);
1723   signal (50, handle_50);
1724   signal (51, handle_51);
1725   signal (52, handle_52);
1726   signal (53, handle_53);
1727   signal (54, handle_54);
1728   signal (55, handle_55);
1729   signal (56, handle_56);
1730   signal (57, handle_57);
1731   signal (58, handle_58);
1732   signal (59, handle_59);
1733   signal (60, handle_60);
1734   signal (61, handle_61);
1735   signal (62, handle_62);
1736   signal (63, handle_63);
1737 #endif /* lynx */
1738   signal (SIGTERM, handle_TERM);
1739 
1740   x = 0;
1741 
1742   gen_ABRT ();
1743   gen_HUP ();
1744   gen_QUIT ();
1745   gen_ILL ();
1746   gen_EMT ();
1747   gen_FPE ();
1748   gen_BUS ();
1749   gen_SEGV ();
1750   gen_SYS ();
1751   gen_PIPE ();
1752   gen_ALRM ();
1753   gen_URG ();
1754   gen_TSTP ();
1755   gen_CONT ();
1756   gen_CHLD ();
1757   gen_TTIN ();
1758   gen_TTOU ();
1759   gen_IO ();
1760   gen_XCPU ();
1761   gen_XFSZ ();
1762   gen_VTALRM ();
1763   gen_PROF ();
1764   gen_WINCH ();
1765   gen_LOST ();
1766   gen_USR1 ();
1767   gen_USR2 ();
1768   gen_PWR ();
1769   gen_POLL ();
1770   gen_WIND ();
1771   gen_PHONE ();
1772   gen_WAITING ();
1773   gen_LWP ();
1774   gen_DANGER ();
1775   gen_GRANT ();
1776   gen_RETRACT ();
1777   gen_MSG ();
1778   gen_SOUND ();
1779   gen_SAK ();
1780   gen_PRIO ();
1781   gen_33 ();
1782   gen_34 ();
1783   gen_35 ();
1784   gen_36 ();
1785   gen_37 ();
1786   gen_38 ();
1787   gen_39 ();
1788   gen_40 ();
1789   gen_41 ();
1790   gen_42 ();
1791   gen_43 ();
1792   gen_44 ();
1793   gen_45 ();
1794   gen_46 ();
1795   gen_47 ();
1796   gen_48 ();
1797   gen_49 ();
1798   gen_50 ();
1799   gen_51 ();
1800   gen_52 ();
1801   gen_53 ();
1802   gen_54 ();
1803   gen_55 ();
1804   gen_56 ();
1805   gen_57 ();
1806   gen_58 ();
1807   gen_59 ();
1808   gen_60 ();
1809   gen_61 ();
1810   gen_62 ();
1811   gen_63 ();
1812   gen_TERM ();
1813 
1814   return 0;
1815 }
1816