| 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 |