diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-01-19 15:41:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-01-19 15:41:14 +0000 |
commit | d48f4d530eb492bd008318facff31bb725b066f5 (patch) | |
tree | a2e67e8d15d722537f88330b923c47c15cc7393e /posix | |
parent | d53afacb5553ca5c62a11c8185391afe0e745d9a (diff) | |
download | glibc-d48f4d530eb492bd008318facff31bb725b066f5.zip glibc-d48f4d530eb492bd008318facff31bb725b066f5.tar.gz glibc-d48f4d530eb492bd008318facff31bb725b066f5.tar.bz2 |
Update.
* posix/test-vfork.c (main): Improve test to check for correct
exit code.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/test-vfork.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/posix/test-vfork.c b/posix/test-vfork.c index 9c35289..959dcb3 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); } |