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