On Fri, 22 Nov 2013, Stuart Henderson wrote:

>                       do {
>                               wr = write(fileno(fout), buf + d, rd);
> -                             if (wr == -1 && errno == EPIPE)
> -                                     break;
> -                             d += wr;
> -                             rd -= wr;
> +                             if (wr == -1) {
> +                                     if (errno == EPIPE)
> +                                             break;
> +                             } else {
> +                                     d += wr;
> +                                     rd -= wr;
> +                             }
>                       } while (d < c);

That still loops endlessly for errors other than EPIPE.

Reply via email to