diff options
Diffstat (limited to 'winsup/testsuite/winsup.api/resethand.c')
-rw-r--r-- | winsup/testsuite/winsup.api/resethand.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/winsup/testsuite/winsup.api/resethand.c b/winsup/testsuite/winsup.api/resethand.c deleted file mode 100644 index 7d58dcd2c..000000000 --- a/winsup/testsuite/winsup.api/resethand.c +++ /dev/null @@ -1,36 +0,0 @@ -#include <stdio.h> -#include <signal.h> -#include <sys/wait.h> -#include <unistd.h> -#include <stdlib.h> - -int doit = 0; -void -ouch (int sig) -{ - if (doit++ > 0) - kill (getpid (), SIGTERM); -} - -int -main (int argc, char **argv) -{ - static struct sigaction act; - if (argc == 1) - act.sa_flags = SA_RESETHAND; - act.sa_handler = ouch; - sigaction (SIGSEGV, &act, NULL); - int pid = fork (); - int status; - if (pid > 0) - waitpid (pid, &status, 0); - else - { - int *i = 0; - *i = 9; - exit (0x42); - } - status &= ~0x80; // remove core dump flag - printf ("pid %d exited with status %p\n", pid, (void *) status); - exit (argc == 1 ? !(status == SIGSEGV) : !(status == SIGTERM)); -} |