OLD | NEW |
1 /* Check that TRT happens at an non-abort non-caught signal, more than one threa
d. | 1 /* Check that TRT happens at an non-abort non-caught signal, more than one threa
d. |
2 #notarget: cris*-*-elf | 2 #notarget: cris*-*-elf |
3 #cc: additional_flags=-pthread | 3 #cc: additional_flags=-pthread |
4 #xerror: | 4 #xerror: |
5 #output: Exiting pid 42 due to signal 7\n | 5 #output: Exiting pid 42 due to signal 7\n |
6 #output: program stopped with signal 4.\n | 6 #output: program stopped with signal 4 (*).\n |
7 */ | 7 */ |
8 | 8 |
9 #include <stdlib.h> | 9 #include <stdlib.h> |
10 #include <stddef.h> | 10 #include <stddef.h> |
11 #include <stdio.h> | 11 #include <stdio.h> |
12 #include <unistd.h> | 12 #include <unistd.h> |
13 #include <pthread.h> | 13 #include <pthread.h> |
14 #include <sys/types.h> | 14 #include <sys/types.h> |
15 #include <signal.h> | 15 #include <signal.h> |
16 | 16 |
17 static void * | 17 static void * |
18 process (void *arg) | 18 process (void *arg) |
19 { | 19 { |
20 while (1) | 20 while (1) |
21 sched_yield (); | 21 sched_yield (); |
22 return NULL; | 22 return NULL; |
23 } | 23 } |
24 | 24 |
25 int main (void) | 25 int main (void) |
26 { | 26 { |
27 pthread_t th_a; | 27 pthread_t th_a; |
28 if (pthread_create (&th_a, NULL, process, (void *) "a") == 0) | 28 if (pthread_create (&th_a, NULL, process, (void *) "a") == 0) |
29 kill (getpid (), SIGBUS); | 29 kill (getpid (), SIGBUS); |
30 printf ("xyzzy\n"); | 30 printf ("xyzzy\n"); |
31 exit (0); | 31 exit (0); |
32 } | 32 } |
OLD | NEW |