diff options
author | peter <peter@FreeBSD.org> | 2004-04-15 01:01:56 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-04-15 01:01:56 +0000 |
commit | 6045cae71a438a752980a395f03717a13cc22179 (patch) | |
tree | fd220ac1ddaebaa4a730f86d6f727fb639279056 /contrib/cvs/diff/util.c | |
parent | 0de1aa939e0bb1831fe5ba20e2afa2fe6d7426ab (diff) | |
download | FreeBSD-src-6045cae71a438a752980a395f03717a13cc22179.zip FreeBSD-src-6045cae71a438a752980a395f03717a13cc22179.tar.gz |
Import cvs-1.11.15
Diffstat (limited to 'contrib/cvs/diff/util.c')
-rw-r--r-- | contrib/cvs/diff/util.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/contrib/cvs/diff/util.c b/contrib/cvs/diff/util.c index ff9cceb..744cf51 100644 --- a/contrib/cvs/diff/util.c +++ b/contrib/cvs/diff/util.c @@ -300,7 +300,7 @@ finish_output () if (paginate_flag && outfile != 0 && outfile != stdout) { #ifdef PR_PROGRAM - int wstatus; + int wstatus, w; if (ferror (outfile)) fatal ("write error"); # if ! HAVE_FORK @@ -308,7 +308,9 @@ finish_output () # else /* HAVE_FORK */ if (fclose (outfile) != 0) pfatal_with_name ("write error"); - if (waitpid (pr_pid, &wstatus, 0) < 0) + while ((w = waitpid (pr_pid, &wstatus, 0)) < 0 && errno == EINTR) + ; + if (w < 0) pfatal_with_name ("waitpid"); # endif /* HAVE_FORK */ if (wstatus != 0) |