sigall-reverse.c revision 1.1.1.8 1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2009-2024 Free Software Foundation, Inc.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18 #include <signal.h>
19 #include <unistd.h>
20
21
22 /* Signal handlers, we set breakpoints in them to make sure that the
23 signals really get delivered. */
24
25 void
26 handle_ABRT (int sig)
27 {
28 }
29
30 void
31 handle_HUP (int sig)
32 {
33 }
34
35 void
36 handle_QUIT (int sig)
37 {
38 }
39
40 void
41 handle_ILL (int sig)
42 {
43 }
44
45 void
46 handle_EMT (int sig)
47 {
48 }
49
50 void
51 handle_FPE (int sig)
52 {
53 }
54
55 void
56 handle_BUS (int sig)
57 {
58 }
59
60 void
61 handle_SEGV (int sig)
62 {
63 }
64
65 void
66 handle_SYS (int sig)
67 {
68 }
69
70 void
71 handle_PIPE (int sig)
72 {
73 }
74
75 void
76 handle_ALRM (int sig)
77 {
78 }
79
80 void
81 handle_URG (int sig)
82 {
83 }
84
85 void
86 handle_TSTP (int sig)
87 {
88 }
89
90 void
91 handle_CONT (int sig)
92 {
93 }
94
95 void
96 handle_CHLD (int sig)
97 {
98 }
99
100 void
101 handle_TTIN (int sig)
102 {
103 }
104
105 void
106 handle_TTOU (int sig)
107 {
108 }
109
110 void
111 handle_IO (int sig)
112 {
113 }
114
115 void
116 handle_XCPU (int sig)
117 {
118 }
119
120 void
121 handle_XFSZ (int sig)
122 {
123 }
124
125 void
126 handle_VTALRM (int sig)
127 {
128 }
129
130 void
131 handle_PROF (int sig)
132 {
133 }
134
135 void
136 handle_WINCH (int sig)
137 {
138 }
139
140 void
141 handle_LOST (int sig)
142 {
143 }
144
145 void
146 handle_USR1 (int sig)
147 {
148 }
149
150 void
151 handle_USR2 (int sig)
152 {
153 }
154
155 void
156 handle_PWR (int sig)
157 {
158 }
159
160 void
161 handle_POLL (int sig)
162 {
163 }
164
165 void
166 handle_WIND (int sig)
167 {
168 }
169
170 void
171 handle_PHONE (int sig)
172 {
173 }
174
175 void
176 handle_WAITING (int sig)
177 {
178 }
179
180 void
181 handle_LWP (int sig)
182 {
183 }
184
185 void
186 handle_DANGER (int sig)
187 {
188 }
189
190 void
191 handle_GRANT (int sig)
192 {
193 }
194
195 void
196 handle_RETRACT (int sig)
197 {
198 }
199
200 void
201 handle_MSG (int sig)
202 {
203 }
204
205 void
206 handle_SOUND (int sig)
207 {
208 }
209
210 void
211 handle_SAK (int sig)
212 {
213 }
214
215 void
216 handle_PRIO (int sig)
217 {
218 }
219
220 void
221 handle_33 (int sig)
222 {
223 }
224
225 void
226 handle_34 (int sig)
227 {
228 }
229
230 void
231 handle_35 (int sig)
232 {
233 }
234
235 void
236 handle_36 (int sig)
237 {
238 }
239
240 void
241 handle_37 (int sig)
242 {
243 }
244
245 void
246 handle_38 (int sig)
247 {
248 }
249
250 void
251 handle_39 (int sig)
252 {
253 }
254
255 void
256 handle_40 (int sig)
257 {
258 }
259
260 void
261 handle_41 (int sig)
262 {
263 }
264
265 void
266 handle_42 (int sig)
267 {
268 }
269
270 void
271 handle_43 (int sig)
272 {
273 }
274
275 void
276 handle_44 (int sig)
277 {
278 }
279
280 void
281 handle_45 (int sig)
282 {
283 }
284
285 void
286 handle_46 (int sig)
287 {
288 }
289
290 void
291 handle_47 (int sig)
292 {
293 }
294
295 void
296 handle_48 (int sig)
297 {
298 }
299
300 void
301 handle_49 (int sig)
302 {
303 }
304
305 void
306 handle_50 (int sig)
307 {
308 }
309
310 void
311 handle_51 (int sig)
312 {
313 }
314
315 void
316 handle_52 (int sig)
317 {
318 }
319
320 void
321 handle_53 (int sig)
322 {
323 }
324
325 void
326 handle_54 (int sig)
327 {
328 }
329
330 void
331 handle_55 (int sig)
332 {
333 }
334
335 void
336 handle_56 (int sig)
337 {
338 }
339
340 void
341 handle_57 (int sig)
342 {
343 }
344
345 void
346 handle_58 (int sig)
347 {
348 }
349
350 void
351 handle_59 (int sig)
352 {
353 }
354
355 void
356 handle_60 (int sig)
357 {
358 }
359
360 void
361 handle_61 (int sig)
362 {
363 }
364
365 void
366 handle_62 (int sig)
367 {
368 }
369
370 void
371 handle_63 (int sig)
372 {
373 }
374
375 void
376 handle_TERM (int sig)
377 {
378 }
379
380 /* Functions to send signals. These also serve as markers.
382 Ordered ANSI-standard signals first, other signals second,
383 with signals in each block ordered by their numerical values
384 on a typical POSIX platform. */
385
386 /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
387 are ANSI-standard signals and are always available. */
388
389 int
390 gen_ILL (void)
391 {
392 kill (getpid (), SIGILL);
393 return 0;
394 }
395
396 int
397 gen_ABRT (void)
398 {
399 kill (getpid (), SIGABRT);
400 return 0;
401 }
402
403 int x;
404
405 int
406 gen_FPE (void)
407 {
408 /* The intent behind generating SIGFPE this way is to check the mapping
409 from the CPU exception itself to the signals. It would be nice to
410 do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
411 test might turn out to be insufficiently portable. */
412
413 #if 0
414 /* Loses on the PA because after the signal handler executes we try to
415 re-execute the failing instruction again. Perhaps we could siglongjmp
416 out of the signal handler? */
417 /* The expect script looks for the word "kill"; don't delete it. */
418 return 5 / x; /* and we both started jumping up and down yelling kill */
419 #else
420 kill (getpid (), SIGFPE);
421 #endif
422 return 0;
423 }
424
425 int
426 gen_SEGV (void)
427 {
428 kill (getpid (), SIGSEGV);
429 return 0;
430 }
431
432 int
433 gen_TERM (void)
434 {
435 kill (getpid (), SIGTERM);
436 return 0;
437 }
438
439 /* All other signals need preprocessor conditionals. */
440
441 int
442 gen_HUP (void)
443 {
444 #ifdef SIGHUP
445 kill (getpid (), SIGHUP);
446 #else
447 handle_HUP (0);
448 #endif
449 return 0;
450 }
451
452 int
453 gen_QUIT (void)
454 {
455 #ifdef SIGQUIT
456 kill (getpid (), SIGQUIT);
457 #else
458 handle_QUIT (0);
459 #endif
460 return 0;
461 }
462
463 int
464 gen_EMT (void)
465 {
466 #ifdef SIGEMT
467 kill (getpid (), SIGEMT);
468 #else
469 handle_EMT (0);
470 #endif
471 return 0;
472 }
473
474 int
475 gen_BUS (void)
476 {
477 #ifdef SIGBUS
478 kill (getpid (), SIGBUS);
479 #else
480 handle_BUS (0);
481 #endif
482 return 0;
483 }
484
485 int
486 gen_SYS (void)
487 {
488 #ifdef SIGSYS
489 kill (getpid (), SIGSYS);
490 #else
491 handle_SYS (0);
492 #endif
493 return 0;
494 }
495
496 int
497 gen_PIPE (void)
498 {
499 #ifdef SIGPIPE
500 kill (getpid (), SIGPIPE);
501 #else
502 handle_PIPE (0);
503 #endif
504 return 0;
505 }
506
507 int
508 gen_ALRM (void)
509 {
510 #ifdef SIGALRM
511 kill (getpid (), SIGALRM);
512 #else
513 handle_ALRM (0);
514 #endif
515 return 0;
516 }
517
518 int
519 gen_URG (void)
520 {
521 #ifdef SIGURG
522 kill (getpid (), SIGURG);
523 #else
524 handle_URG (0);
525 #endif
526 return 0;
527 }
528
529 int
530 gen_TSTP (void)
531 {
532 #ifdef SIGTSTP
533 kill (getpid (), SIGTSTP);
534 #else
535 handle_TSTP (0);
536 #endif
537 return 0;
538 }
539
540 int
541 gen_CONT (void)
542 {
543 #ifdef SIGCONT
544 kill (getpid (), SIGCONT);
545 #else
546 handle_CONT (0);
547 #endif
548 return 0;
549 }
550
551 int
552 gen_CHLD (void)
553 {
554 #ifdef SIGCHLD
555 kill (getpid (), SIGCHLD);
556 #else
557 handle_CHLD (0);
558 #endif
559 return 0;
560 }
561
562 int
563 gen_TTIN (void)
564 {
565 #ifdef SIGTTIN
566 kill (getpid (), SIGTTIN);
567 #else
568 handle_TTIN (0);
569 #endif
570 return 0;
571 }
572
573 int
574 gen_TTOU (void)
575 {
576 #ifdef SIGTTOU
577 kill (getpid (), SIGTTOU);
578 #else
579 handle_TTOU (0);
580 #endif
581 return 0;
582 }
583
584 int
585 gen_IO (void)
586 {
587 #ifdef SIGIO
588 kill (getpid (), SIGIO);
589 #else
590 handle_IO (0);
591 #endif
592 return 0;
593 }
594
595 int
596 gen_XCPU (void)
597 {
598 #ifdef SIGXCPU
599 kill (getpid (), SIGXCPU);
600 #else
601 handle_XCPU (0);
602 #endif
603 return 0;
604 }
605
606 int
607 gen_XFSZ (void)
608 {
609 #ifdef SIGXFSZ
610 kill (getpid (), SIGXFSZ);
611 #else
612 handle_XFSZ (0);
613 #endif
614 return 0;
615 }
616
617 int
618 gen_VTALRM (void)
619 {
620 #ifdef SIGVTALRM
621 kill (getpid (), SIGVTALRM);
622 #else
623 handle_VTALRM (0);
624 #endif
625 return 0;
626 }
627
628 int
629 gen_PROF (void)
630 {
631 #ifdef SIGPROF
632 kill (getpid (), SIGPROF);
633 #else
634 handle_PROF (0);
635 #endif
636 return 0;
637 }
638
639 int
640 gen_WINCH (void)
641 {
642 #ifdef SIGWINCH
643 kill (getpid (), SIGWINCH);
644 #else
645 handle_WINCH (0);
646 #endif
647 return 0;
648 }
649
650 int
651 gen_LOST (void)
652 {
653 #if defined(SIGLOST) && SIGLOST != SIGABRT
654 kill (getpid (), SIGLOST);
655 #else
656 handle_LOST (0);
657 #endif
658 return 0;
659 }
660
661 int
662 gen_USR1 (void)
663 {
664 #ifdef SIGUSR1
665 kill (getpid (), SIGUSR1);
666 #else
667 handle_USR1 (0);
668 #endif
669 return 0;
670 }
671
672 int
673 gen_USR2 (void)
674 {
675 #ifdef SIGUSR2
676 kill (getpid (), SIGUSR2);
677 #else
678 handle_USR2 (0);
679 #endif
680 return 0;
681 }
682
683 int
684 gen_PWR (void)
685 {
686 #ifdef SIGPWR
687 kill (getpid (), SIGPWR);
688 #else
689 handle_PWR (0);
690 #endif
691 return 0;
692 }
693
694 int
695 gen_POLL (void)
696 {
697 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
698 kill (getpid (), SIGPOLL);
699 #else
700 handle_POLL (0);
701 #endif
702 return 0;
703 }
704
705 int
706 gen_WIND (void)
707 {
708 #ifdef SIGWIND
709 kill (getpid (), SIGWIND);
710 #else
711 handle_WIND (0);
712 #endif
713 return 0;
714 }
715
716 int
717 gen_PHONE (void)
718 {
719 #ifdef SIGPHONE
720 kill (getpid (), SIGPHONE);
721 #else
722 handle_PHONE (0);
723 #endif
724 return 0;
725 }
726
727 int
728 gen_WAITING (void)
729 {
730 #ifdef SIGWAITING
731 kill (getpid (), SIGWAITING);
732 #else
733 handle_WAITING (0);
734 #endif
735 return 0;
736 }
737
738 int
739 gen_LWP (void)
740 {
741 #ifdef SIGLWP
742 kill (getpid (), SIGLWP);
743 #else
744 handle_LWP (0);
745 #endif
746 return 0;
747 }
748
749 int
750 gen_DANGER (void)
751 {
752 #ifdef SIGDANGER
753 kill (getpid (), SIGDANGER);
754 #else
755 handle_DANGER (0);
756 #endif
757 return 0;
758 }
759
760 int
761 gen_GRANT (void)
762 {
763 #ifdef SIGGRANT
764 kill (getpid (), SIGGRANT);
765 #else
766 handle_GRANT (0);
767 #endif
768 return 0;
769 }
770
771 int
772 gen_RETRACT (void)
773 {
774 #ifdef SIGRETRACT
775 kill (getpid (), SIGRETRACT);
776 #else
777 handle_RETRACT (0);
778 #endif
779 return 0;
780 }
781
782 int
783 gen_MSG (void)
784 {
785 #ifdef SIGMSG
786 kill (getpid (), SIGMSG);
787 #else
788 handle_MSG (0);
789 #endif
790 return 0;
791 }
792
793 int
794 gen_SOUND (void)
795 {
796 #ifdef SIGSOUND
797 kill (getpid (), SIGSOUND);
798 #else
799 handle_SOUND (0);
800 #endif
801 return 0;
802 }
803
804 int
805 gen_SAK (void)
806 {
807 #ifdef SIGSAK
808 kill (getpid (), SIGSAK);
809 #else
810 handle_SAK (0);
811 #endif
812 return 0;
813 }
814
815 int
816 gen_PRIO (void)
817 {
818 #ifdef SIGPRIO
819 kill (getpid (), SIGPRIO);
820 #else
821 handle_PRIO (0);
822 #endif
823 return 0;
824 }
825
826 int
827 gen_33 (void)
828 {
829 #ifdef SIG33
830 kill (getpid (), 33);
831 #else
832 handle_33 (0);
833 #endif
834 return 0;
835 }
836
837 int
838 gen_34 (void)
839 {
840 #ifdef SIG34
841 kill (getpid (), 34);
842 #else
843 handle_34 (0);
844 #endif
845 return 0;
846 }
847
848 int
849 gen_35 (void)
850 {
851 #ifdef SIG35
852 kill (getpid (), 35);
853 #else
854 handle_35 (0);
855 #endif
856 return 0;
857 }
858
859 int
860 gen_36 (void)
861 {
862 #ifdef SIG36
863 kill (getpid (), 36);
864 #else
865 handle_36 (0);
866 #endif
867 return 0;
868 }
869
870 int
871 gen_37 (void)
872 {
873 #ifdef SIG37
874 kill (getpid (), 37);
875 #else
876 handle_37 (0);
877 #endif
878 return 0;
879 }
880
881 int
882 gen_38 (void)
883 {
884 #ifdef SIG38
885 kill (getpid (), 38);
886 #else
887 handle_38 (0);
888 #endif
889 return 0;
890 }
891
892 int
893 gen_39 (void)
894 {
895 #ifdef SIG39
896 kill (getpid (), 39);
897 #else
898 handle_39 (0);
899 #endif
900 return 0;
901 }
902
903 int
904 gen_40 (void)
905 {
906 #ifdef SIG40
907 kill (getpid (), 40);
908 #else
909 handle_40 (0);
910 #endif
911 return 0;
912 }
913
914 int
915 gen_41 (void)
916 {
917 #ifdef SIG41
918 kill (getpid (), 41);
919 #else
920 handle_41 (0);
921 #endif
922 return 0;
923 }
924
925 int
926 gen_42 (void)
927 {
928 #ifdef SIG42
929 kill (getpid (), 42);
930 #else
931 handle_42 (0);
932 #endif
933 return 0;
934 }
935
936 int
937 gen_43 (void)
938 {
939 #ifdef SIG43
940 kill (getpid (), 43);
941 #else
942 handle_43 (0);
943 #endif
944 return 0;
945 }
946
947 int
948 gen_44 (void)
949 {
950 #ifdef SIG44
951 kill (getpid (), 44);
952 #else
953 handle_44 (0);
954 #endif
955 return 0;
956 }
957
958 int
959 gen_45 (void)
960 {
961 #ifdef SIG45
962 kill (getpid (), 45);
963 #else
964 handle_45 (0);
965 #endif
966 return 0;
967 }
968
969 int
970 gen_46 (void)
971 {
972 #ifdef SIG46
973 kill (getpid (), 46);
974 #else
975 handle_46 (0);
976 #endif
977 return 0;
978 }
979
980 int
981 gen_47 (void)
982 {
983 #ifdef SIG47
984 kill (getpid (), 47);
985 #else
986 handle_47 (0);
987 #endif
988 return 0;
989 }
990
991 int
992 gen_48 (void)
993 {
994 #ifdef SIG48
995 kill (getpid (), 48);
996 #else
997 handle_48 (0);
998 #endif
999 return 0;
1000 }
1001
1002 int
1003 gen_49 (void)
1004 {
1005 #ifdef SIG49
1006 kill (getpid (), 49);
1007 #else
1008 handle_49 (0);
1009 #endif
1010 return 0;
1011 }
1012
1013 int
1014 gen_50 (void)
1015 {
1016 #ifdef SIG50
1017 kill (getpid (), 50);
1018 #else
1019 handle_50 (0);
1020 #endif
1021 return 0;
1022 }
1023
1024 int
1025 gen_51 (void)
1026 {
1027 #ifdef SIG51
1028 kill (getpid (), 51);
1029 #else
1030 handle_51 (0);
1031 #endif
1032 return 0;
1033 }
1034
1035 int
1036 gen_52 (void)
1037 {
1038 #ifdef SIG52
1039 kill (getpid (), 52);
1040 #else
1041 handle_52 (0);
1042 #endif
1043 return 0;
1044 }
1045
1046 int
1047 gen_53 (void)
1048 {
1049 #ifdef SIG53
1050 kill (getpid (), 53);
1051 #else
1052 handle_53 (0);
1053 #endif
1054 return 0;
1055 }
1056
1057 int
1058 gen_54 (void)
1059 {
1060 #ifdef SIG54
1061 kill (getpid (), 54);
1062 #else
1063 handle_54 (0);
1064 #endif
1065 return 0;
1066 }
1067
1068 int
1069 gen_55 (void)
1070 {
1071 #ifdef SIG55
1072 kill (getpid (), 55);
1073 #else
1074 handle_55 (0);
1075 #endif
1076 return 0;
1077 }
1078
1079 int
1080 gen_56 (void)
1081 {
1082 #ifdef SIG56
1083 kill (getpid (), 56);
1084 #else
1085 handle_56 (0);
1086 #endif
1087 return 0;
1088 }
1089
1090 int
1091 gen_57 (void)
1092 {
1093 #ifdef SIG57
1094 kill (getpid (), 57);
1095 #else
1096 handle_57 (0);
1097 #endif
1098 return 0;
1099 }
1100
1101 int
1102 gen_58 (void)
1103 {
1104 #ifdef SIG58
1105 kill (getpid (), 58);
1106 #else
1107 handle_58 (0);
1108 #endif
1109 return 0;
1110 }
1111
1112 int
1113 gen_59 (void)
1114 {
1115 #ifdef SIG59
1116 kill (getpid (), 59);
1117 #else
1118 handle_59 (0);
1119 #endif
1120 return 0;
1121 }
1122
1123 int
1124 gen_60 (void)
1125 {
1126 #ifdef SIG60
1127 kill (getpid (), 60);
1128 #else
1129 handle_60 (0);
1130 #endif
1131 return 0;
1132 }
1133
1134 int
1135 gen_61 (void)
1136 {
1137 #ifdef SIG61
1138 kill (getpid (), 61);
1139 #else
1140 handle_61 (0);
1141 #endif
1142 return 0;
1143 }
1144
1145 int
1146 gen_62 (void)
1147 {
1148 #ifdef SIG62
1149 kill (getpid (), 62);
1150 #else
1151 handle_62 (0);
1152 #endif
1153 return 0;
1154 }
1155
1156 int
1157 gen_63 (void)
1158 {
1159 #ifdef SIG63
1160 kill (getpid (), 63);
1161 #else
1162 handle_63 (0);
1163 #endif
1164 return 0;
1165 }
1166
1167 int
1169 main ()
1170 {
1171 #ifdef SIG_SETMASK
1172 /* Ensure all the signals aren't blocked.
1173 The environment in which the testsuite is run may have blocked some
1174 for whatever reason. */
1175 {
1176 sigset_t newset;
1177 sigemptyset (&newset);
1178 sigprocmask (SIG_SETMASK, &newset, NULL);
1179 }
1180 #endif
1181
1182 /* Signals are ordered ANSI-standard signals first, other signals
1183 second, with signals in each block ordered by their numerical
1184 values on a typical POSIX platform. */
1185
1186 /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
1187 are ANSI-standard signals and are always available. */
1188 signal (SIGILL, handle_ILL);
1189 signal (SIGABRT, handle_ABRT);
1190 signal (SIGFPE, handle_FPE);
1191 signal (SIGSEGV, handle_SEGV);
1192 signal (SIGTERM, handle_TERM);
1193
1194 /* All other signals need preprocessor conditionals. */
1195 #ifdef SIGHUP
1196 signal (SIGHUP, handle_HUP);
1197 #endif
1198 #ifdef SIGQUIT
1199 signal (SIGQUIT, handle_QUIT);
1200 #endif
1201 #ifdef SIGEMT
1202 signal (SIGEMT, handle_EMT);
1203 #endif
1204 #ifdef SIGBUS
1205 signal (SIGBUS, handle_BUS);
1206 #endif
1207 #ifdef SIGSYS
1208 signal (SIGSYS, handle_SYS);
1209 #endif
1210 #ifdef SIGPIPE
1211 signal (SIGPIPE, handle_PIPE);
1212 #endif
1213 #ifdef SIGALRM
1214 signal (SIGALRM, handle_ALRM);
1215 #endif
1216 #ifdef SIGURG
1217 signal (SIGURG, handle_URG);
1218 #endif
1219 #ifdef SIGTSTP
1220 signal (SIGTSTP, handle_TSTP);
1221 #endif
1222 #ifdef SIGCONT
1223 signal (SIGCONT, handle_CONT);
1224 #endif
1225 #ifdef SIGCHLD
1226 signal (SIGCHLD, handle_CHLD);
1227 #endif
1228 #ifdef SIGTTIN
1229 signal (SIGTTIN, handle_TTIN);
1230 #endif
1231 #ifdef SIGTTOU
1232 signal (SIGTTOU, handle_TTOU);
1233 #endif
1234 #ifdef SIGIO
1235 signal (SIGIO, handle_IO);
1236 #endif
1237 #ifdef SIGXCPU
1238 signal (SIGXCPU, handle_XCPU);
1239 #endif
1240 #ifdef SIGXFSZ
1241 signal (SIGXFSZ, handle_XFSZ);
1242 #endif
1243 #ifdef SIGVTALRM
1244 signal (SIGVTALRM, handle_VTALRM);
1245 #endif
1246 #ifdef SIGPROF
1247 signal (SIGPROF, handle_PROF);
1248 #endif
1249 #ifdef SIGWINCH
1250 signal (SIGWINCH, handle_WINCH);
1251 #endif
1252 #if defined(SIGLOST) && SIGLOST != SIGABRT
1253 signal (SIGLOST, handle_LOST);
1254 #endif
1255 #ifdef SIGUSR1
1256 signal (SIGUSR1, handle_USR1);
1257 #endif
1258 #ifdef SIGUSR2
1259 signal (SIGUSR2, handle_USR2);
1260 #endif
1261 #ifdef SIGPWR
1262 signal (SIGPWR, handle_PWR);
1263 #endif
1264 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
1265 signal (SIGPOLL, handle_POLL);
1266 #endif
1267 #ifdef SIGWIND
1268 signal (SIGWIND, handle_WIND);
1269 #endif
1270 #ifdef SIGPHONE
1271 signal (SIGPHONE, handle_PHONE);
1272 #endif
1273 #ifdef SIGWAITING
1274 signal (SIGWAITING, handle_WAITING);
1275 #endif
1276 #ifdef SIGLWP
1277 signal (SIGLWP, handle_LWP);
1278 #endif
1279 #ifdef SIGDANGER
1280 signal (SIGDANGER, handle_DANGER);
1281 #endif
1282 #ifdef SIGGRANT
1283 signal (SIGGRANT, handle_GRANT);
1284 #endif
1285 #ifdef SIGRETRACT
1286 signal (SIGRETRACT, handle_RETRACT);
1287 #endif
1288 #ifdef SIGMSG
1289 signal (SIGMSG, handle_MSG);
1290 #endif
1291 #ifdef SIGSOUND
1292 signal (SIGSOUND, handle_SOUND);
1293 #endif
1294 #ifdef SIGSAK
1295 signal (SIGSAK, handle_SAK);
1296 #endif
1297 #ifdef SIGPRIO
1298 signal (SIGPRIO, handle_PRIO);
1299 #endif
1300 #ifdef __Lynx__
1301 /* Lynx doesn't seem to have anything in signal.h for this. */
1302 signal (33, handle_33);
1303 signal (34, handle_34);
1304 signal (35, handle_35);
1305 signal (36, handle_36);
1306 signal (37, handle_37);
1307 signal (38, handle_38);
1308 signal (39, handle_39);
1309 signal (40, handle_40);
1310 signal (41, handle_41);
1311 signal (42, handle_42);
1312 signal (43, handle_43);
1313 signal (44, handle_44);
1314 signal (45, handle_45);
1315 signal (46, handle_46);
1316 signal (47, handle_47);
1317 signal (48, handle_48);
1318 signal (49, handle_49);
1319 signal (50, handle_50);
1320 signal (51, handle_51);
1321 signal (52, handle_52);
1322 signal (53, handle_53);
1323 signal (54, handle_54);
1324 signal (55, handle_55);
1325 signal (56, handle_56);
1326 signal (57, handle_57);
1327 signal (58, handle_58);
1328 signal (59, handle_59);
1329 signal (60, handle_60);
1330 signal (61, handle_61);
1331 signal (62, handle_62);
1332 signal (63, handle_63);
1333 #endif /* lynx */
1334
1335 x = 0;
1336
1337 gen_ABRT ();
1338 gen_HUP ();
1339 gen_QUIT ();
1340 gen_ILL ();
1341 gen_EMT ();
1342 gen_FPE ();
1343 gen_BUS ();
1344 gen_SEGV ();
1345 gen_SYS ();
1346 gen_PIPE ();
1347 gen_ALRM ();
1348 gen_URG ();
1349 gen_TSTP ();
1350 gen_CONT ();
1351 gen_CHLD ();
1352 gen_TTIN ();
1353 gen_TTOU ();
1354 gen_IO ();
1355 gen_XCPU ();
1356 gen_XFSZ ();
1357 gen_VTALRM ();
1358 gen_PROF ();
1359 gen_WINCH ();
1360 gen_LOST ();
1361 gen_USR1 ();
1362 gen_USR2 ();
1363 gen_PWR ();
1364 gen_POLL ();
1365 gen_WIND ();
1366 gen_PHONE ();
1367 gen_WAITING ();
1368 gen_LWP ();
1369 gen_DANGER ();
1370 gen_GRANT ();
1371 gen_RETRACT ();
1372 gen_MSG ();
1373 gen_SOUND ();
1374 gen_SAK ();
1375 gen_PRIO ();
1376 gen_33 ();
1377 gen_34 ();
1378 gen_35 ();
1379 gen_36 ();
1380 gen_37 ();
1381 gen_38 ();
1382 gen_39 ();
1383 gen_40 ();
1384 gen_41 ();
1385 gen_42 ();
1386 gen_43 ();
1387 gen_44 ();
1388 gen_45 ();
1389 gen_46 ();
1390 gen_47 ();
1391 gen_48 ();
1392 gen_49 ();
1393 gen_50 ();
1394 gen_51 ();
1395 gen_52 ();
1396 gen_53 ();
1397 gen_54 ();
1398 gen_55 ();
1399 gen_56 ();
1400 gen_57 ();
1401 gen_58 ();
1402 gen_59 ();
1403 gen_60 ();
1404 gen_61 ();
1405 gen_62 ();
1406 gen_63 ();
1407 gen_TERM ();
1408
1409 return 0; /* end of main */
1410 }
1411