* test-skeleton.c (main): Provide more information in case waitpid
	fails.
This commit is contained in:
Ulrich Drepper 2002-09-15 04:25:03 +00:00
parent 7ae4abe9af
commit 608c5afdcc
3 changed files with 15 additions and 4 deletions

View File

@ -1,5 +1,5 @@
*.d *.o *.so *.po *.go *.bo stamp.* *.stamp *.ustamp *.udeps *.d *.o *.so *.po *.go *.bo stamp.* *.stamp *.ustamp *.udeps
*.gz *.Z *.tar *.tgz *.gz *.Z *.tar *.tgz *.bz2
=* =*
TODO AUTHORS copyr-* copying.* TODO AUTHORS copyr-* copying.*
glibc-* glibc-*

View File

@ -1,5 +1,8 @@
2002-09-14 Ulrich Drepper <drepper@redhat.com> 2002-09-14 Ulrich Drepper <drepper@redhat.com>
* test-skeleton.c (main): Provide more information in case waitpid
fails.
* include/unistd.h: Declare __exit_thread. * include/unistd.h: Declare __exit_thread.
* sysdeps/generic/libc-start.c: Remove dummy_addr. * sysdeps/generic/libc-start.c: Remove dummy_addr.
Wrap call to main in setjmp if HAVE_CANCELBUF is defined. Wrap call to main in setjmp if HAVE_CANCELBUF is defined.

View File

@ -50,7 +50,7 @@ static struct option options[] =
}; };
/* PID of the test itself. */ /* PID of the test itself. */
static int pid; static pid_t pid;
/* Directory to place temporary files in. */ /* Directory to place temporary files in. */
static const char *test_dir; static const char *test_dir;
@ -157,6 +157,7 @@ main (int argc, char *argv[])
int direct = 0; /* Directly call the test function? */ int direct = 0; /* Directly call the test function? */
int status; int status;
int opt; int opt;
pid_t termpid;
#ifdef STDOUT_UNBUFFERED #ifdef STDOUT_UNBUFFERED
setbuf (stdout, NULL); setbuf (stdout, NULL);
@ -250,9 +251,16 @@ main (int argc, char *argv[])
signal (SIGALRM, timeout_handler); signal (SIGALRM, timeout_handler);
/* Wait for the regular termination. */ /* Wait for the regular termination. */
if (waitpid (pid, &status, 0) != pid) termpid = waitpid (pid, &status, 0);
if (termpid == -1)
{ {
perror ("Oops, wrong test program terminated"); printf ("Waiting for test program failed: %m\n");
exit (1);
}
if (termpid != pid)
{
printf ("Oops, wrong test program terminated: expected %ld, got %ld\n",
(long int) pid, (long int) termpid);
exit (1); exit (1);
} }