From d48f4d530eb492bd008318facff31bb725b066f5 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 19 Jan 1999 15:41:14 +0000 Subject: [PATCH] Update. * posix/test-vfork.c (main): Improve test to check for correct exit code. --- ChangeLog | 3 +++ posix/test-vfork.c | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 79a9ff5762..7c7190166d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-01-19 Ulrich Drepper + * posix/test-vfork.c (main): Improve test to check for correct + exit code. + * sysdeps/unix/sysv/linux/i386/vfork.S: Rewrite to use clone. * sysdeps/unix/sysv/linux/bits/sched.h: Define CLONE_VFORK. diff --git a/posix/test-vfork.c b/posix/test-vfork.c index 9c352897ed..959dcb3b01 100644 --- a/posix/test-vfork.c +++ b/posix/test-vfork.c @@ -6,10 +6,13 @@ void noop (void); +#define NR 2 /* Exit code of the child. */ + int main (void) { - int pid; + pid_t pid; + int status; printf ("Before vfork\n"); fflush (stdout); @@ -20,12 +23,14 @@ main (void) machines where it is stored on the stack, if vfork wasn't implemented correctly, */ noop (); - _exit (2); + _exit (NR); } else if (pid < 0) error (1, errno, "vfork"); printf ("After vfork (parent)\n"); - wait (0); + if (waitpid (0, &status, 0) != pid + || !WIFEXITED (status) || WEXITSTATUS (NR)) + exit (1); exit (0); } -- 2.43.5