diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-12-15 09:16:13 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-12-15 09:16:13 +0000 |
commit | 0d60d7de5db10af7b1c1574520d3ab3c0f64d530 (patch) | |
tree | 55297be0fea4f11809c37ce1573cb7c564c22dcc /nptl/tst-getpid1.c | |
parent | 1b88b322d45419e79aff6b3b1fc2e59b78d6818d (diff) |
Updated to fedora-glibc-20041215T0847
Diffstat (limited to 'nptl/tst-getpid1.c')
-rw-r--r-- | nptl/tst-getpid1.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/nptl/tst-getpid1.c b/nptl/tst-getpid1.c index 061b48d735..497bebed56 100644 --- a/nptl/tst-getpid1.c +++ b/nptl/tst-getpid1.c @@ -1,5 +1,6 @@ #include <sched.h> #include <signal.h> +#include <string.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> @@ -66,20 +67,6 @@ do_test (void) } while (si.si_signo != sig || si.si_code != SI_QUEUE); - if (si.si_int != (int) p) - { - printf ("expected PID %d, got si_int %d\n", (int) p, si.si_int); - kill (p, SIGKILL); - return 1; - } - - if (si.si_pid != p) - { - printf ("expected PID %d, got si_pid %d\n", (int) p, (int) si.si_pid); - kill (p, SIGKILL); - return 1; - } - int e; if (waitpid (p, &e, __WCLONE) != p) { @@ -89,7 +76,10 @@ do_test (void) } if (!WIFEXITED (e)) { - puts ("did not terminate correctly"); + if (WIFSIGNALED (e)) + printf ("died from signal %s\n", strsignal (WTERMSIG (e))); + else + puts ("did not terminate correctly"); return 1; } if (WEXITSTATUS (e) != 0) @@ -98,6 +88,20 @@ do_test (void) return 1; } + if (si.si_int != (int) p) + { + printf ("expected PID %d, got si_int %d\n", (int) p, si.si_int); + kill (p, SIGKILL); + return 1; + } + + if (si.si_pid != p) + { + printf ("expected PID %d, got si_pid %d\n", (int) p, (int) si.si_pid); + kill (p, SIGKILL); + return 1; + } + if (getpid () != mypid) { puts ("my PID changed"); |