5 /* Signal handlers, we set breakpoints in them to make sure that the
6 signals really get delivered. */
104 handle_XFSZ (int sig
)
109 handle_VTALRM (int sig
)
114 handle_PROF (int sig
)
119 handle_WINCH (int sig
)
124 handle_LOST (int sig
)
129 handle_USR1 (int sig
)
134 handle_USR2 (int sig
)
144 handle_POLL (int sig
)
149 handle_WIND (int sig
)
154 handle_PHONE (int sig
)
159 handle_WAITING (int sig
)
169 handle_DANGER (int sig
)
174 handle_GRANT (int sig
)
179 handle_RETRACT (int sig
)
189 handle_SOUND (int sig
)
199 handle_PRIO (int sig
)
359 handle_TERM (int sig
)
363 /* Functions to send signals. These also serve as markers.
364 Ordered ANSI-standard signals first, other signals second,
365 with signals in each block ordered by their numerical values
366 on a typical POSIX platform. */
368 /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
369 are ANSI-standard signals and are always available. */
374 kill (getpid (), SIGILL
);
381 kill (getpid (), SIGABRT
);
390 /* The intent behind generating SIGFPE this way is to check the mapping
391 from the CPU exception itself to the signals. It would be nice to
392 do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
393 test might turn out to be insufficiently portable. */
396 /* Loses on the PA because after the signal handler executes we try to
397 re-execute the failing instruction again. Perhaps we could siglongjmp
398 out of the signal handler? */
399 /* The expect script looks for the word "kill"; don't delete it. */
400 return 5 / x
; /* and we both started jumping up and down yelling kill */
402 kill (getpid (), SIGFPE
);
410 kill (getpid (), SIGSEGV
);
417 kill (getpid (), SIGTERM
);
421 /* All other signals need preprocessor conditionals. */
427 kill (getpid (), SIGHUP
);
438 kill (getpid (), SIGQUIT
);
449 kill (getpid (), SIGEMT
);
460 kill (getpid (), SIGBUS
);
471 kill (getpid (), SIGSYS
);
482 kill (getpid (), SIGPIPE
);
493 kill (getpid (), SIGALRM
);
504 kill (getpid (), SIGURG
);
515 kill (getpid (), SIGTSTP
);
526 kill (getpid (), SIGCONT
);
537 kill (getpid (), SIGCHLD
);
548 kill (getpid (), SIGTTIN
);
559 kill (getpid (), SIGTTOU
);
570 kill (getpid (), SIGIO
);
581 kill (getpid (), SIGXCPU
);
592 kill (getpid (), SIGXFSZ
);
603 kill (getpid (), SIGVTALRM
);
614 kill (getpid (), SIGPROF
);
625 kill (getpid (), SIGWINCH
);
635 #if defined(SIGLOST) && SIGLOST != SIGABRT
636 kill (getpid (), SIGLOST
);
647 kill (getpid (), SIGUSR1
);
658 kill (getpid (), SIGUSR2
);
668 #if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
669 kill (getpid (), SIGPWR
);
679 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
680 kill (getpid (), SIGPOLL
);
691 kill (getpid (), SIGWIND
);
702 kill (getpid (), SIGPHONE
);
713 kill (getpid (), SIGWAITING
);
724 kill (getpid (), SIGLWP
);
735 kill (getpid (), SIGDANGER
);
746 kill (getpid (), SIGGRANT
);
757 kill (getpid (), SIGRETRACT
);
768 kill (getpid (), SIGMSG
);
779 kill (getpid (), SIGSOUND
);
790 kill (getpid (), SIGSAK
);
801 kill (getpid (), SIGPRIO
);
812 kill (getpid (), 33);
823 kill (getpid (), 34);
834 kill (getpid (), 35);
845 kill (getpid (), 36);
856 kill (getpid (), 37);
867 kill (getpid (), 38);
878 kill (getpid (), 39);
889 kill (getpid (), 40);
900 kill (getpid (), 41);
911 kill (getpid (), 42);
922 kill (getpid (), 43);
933 kill (getpid (), 44);
944 kill (getpid (), 45);
955 kill (getpid (), 46);
966 kill (getpid (), 47);
977 kill (getpid (), 48);
988 kill (getpid (), 49);
999 kill (getpid (), 50);
1010 kill (getpid (), 51);
1021 kill (getpid (), 52);
1032 kill (getpid (), 53);
1043 kill (getpid (), 54);
1054 kill (getpid (), 55);
1065 kill (getpid (), 56);
1076 kill (getpid (), 57);
1087 kill (getpid (), 58);
1098 kill (getpid (), 59);
1109 kill (getpid (), 60);
1120 kill (getpid (), 61);
1131 kill (getpid (), 62);
1142 kill (getpid (), 63);
1154 /* Ensure all the signals aren't blocked.
1155 The environment in which the testsuite is run may have blocked some
1156 for whatever reason. */
1159 sigemptyset (&newset
);
1160 sigprocmask (SIG_SETMASK
, &newset
, NULL
);
1164 /* Signals are ordered ANSI-standard signals first, other signals
1165 second, with signals in each block ordered by their numerical
1166 values on a typical POSIX platform. */
1168 /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
1169 are ANSI-standard signals and are always available. */
1170 signal (SIGILL
, handle_ILL
);
1171 signal (SIGABRT
, handle_ABRT
);
1172 signal (SIGFPE
, handle_FPE
);
1173 signal (SIGSEGV
, handle_SEGV
);
1174 signal (SIGTERM
, handle_TERM
);
1176 /* All other signals need preprocessor conditionals. */
1178 signal (SIGHUP
, handle_HUP
);
1181 signal (SIGQUIT
, handle_QUIT
);
1184 signal (SIGEMT
, handle_EMT
);
1187 signal (SIGBUS
, handle_BUS
);
1190 signal (SIGSYS
, handle_SYS
);
1193 signal (SIGPIPE
, handle_PIPE
);
1196 signal (SIGALRM
, handle_ALRM
);
1199 signal (SIGURG
, handle_URG
);
1202 signal (SIGTSTP
, handle_TSTP
);
1205 signal (SIGCONT
, handle_CONT
);
1208 signal (SIGCHLD
, handle_CHLD
);
1211 signal (SIGTTIN
, handle_TTIN
);
1214 signal (SIGTTOU
, handle_TTOU
);
1217 signal (SIGIO
, handle_IO
);
1220 signal (SIGXCPU
, handle_XCPU
);
1223 signal (SIGXFSZ
, handle_XFSZ
);
1226 signal (SIGVTALRM
, handle_VTALRM
);
1229 signal (SIGPROF
, handle_PROF
);
1232 signal (SIGWINCH
, handle_WINCH
);
1234 #if defined(SIGLOST) && SIGLOST != SIGABRT
1235 signal (SIGLOST
, handle_LOST
);
1238 signal (SIGUSR1
, handle_USR1
);
1241 signal (SIGUSR2
, handle_USR2
);
1243 #if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
1244 signal (SIGPWR
, handle_PWR
);
1246 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
1247 signal (SIGPOLL
, handle_POLL
);
1250 signal (SIGWIND
, handle_WIND
);
1253 signal (SIGPHONE
, handle_PHONE
);
1256 signal (SIGWAITING
, handle_WAITING
);
1259 signal (SIGLWP
, handle_LWP
);
1262 signal (SIGDANGER
, handle_DANGER
);
1265 signal (SIGGRANT
, handle_GRANT
);
1268 signal (SIGRETRACT
, handle_RETRACT
);
1271 signal (SIGMSG
, handle_MSG
);
1274 signal (SIGSOUND
, handle_SOUND
);
1277 signal (SIGSAK
, handle_SAK
);
1280 signal (SIGPRIO
, handle_PRIO
);
1283 /* Lynx doesn't seem to have anything in signal.h for this. */
1284 signal (33, handle_33
);
1285 signal (34, handle_34
);
1286 signal (35, handle_35
);
1287 signal (36, handle_36
);
1288 signal (37, handle_37
);
1289 signal (38, handle_38
);
1290 signal (39, handle_39
);
1291 signal (40, handle_40
);
1292 signal (41, handle_41
);
1293 signal (42, handle_42
);
1294 signal (43, handle_43
);
1295 signal (44, handle_44
);
1296 signal (45, handle_45
);
1297 signal (46, handle_46
);
1298 signal (47, handle_47
);
1299 signal (48, handle_48
);
1300 signal (49, handle_49
);
1301 signal (50, handle_50
);
1302 signal (51, handle_51
);
1303 signal (52, handle_52
);
1304 signal (53, handle_53
);
1305 signal (54, handle_54
);
1306 signal (55, handle_55
);
1307 signal (56, handle_56
);
1308 signal (57, handle_57
);
1309 signal (58, handle_58
);
1310 signal (59, handle_59
);
1311 signal (60, handle_60
);
1312 signal (61, handle_61
);
1313 signal (62, handle_62
);
1314 signal (63, handle_63
);