Jim Meyering <[EMAIL PROTECTED]> writes:

> diff --git a/src/install.c b/src/install.c
> index 8fc6a8a..0457751 100644
> --- a/src/install.c
> +++ b/src/install.c
> @@ -566,11 +566,10 @@ strip (char const *name)
>        error (EXIT_FAILURE, errno, _("cannot run strip"));
>        break;
>      default:                 /* Parent. */
> -      /* Parent process. */
> -      while (pid != wait (&status))  /* Wait for kid to finish. */
> -     /* Do nothing. */ ;
> -      if (status)
> -     error (EXIT_FAILURE, 0, _("strip failed"));
> +      if (waitpid (pid, &status, 0) < 0)
> +     error (EXIT_FAILURE, errno, _("waiting for strip"));

That mishandles EINTR.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to