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