Mikulas Patocka <[EMAIL PROTECTED]> wrote:
> There is a bug in dd --- if libc doesn't have __fpending, coreutils will
> use a stub that always returns 1. A side effect of this stub is that
> close_stdout always calls fclose(stdout) --- it normally doesn't matter
> for most utilities except dd --- dd calls close(1) on its own and later
> fclose(stdout) in atexit(close_stdout) will report error.
>
> This patch fixes the problem by moving atexit(close_stdout) to usage()
> function --- its the only function in dd that uses stdout.

Thanks for reporting this -- and for the patch.

However, I would prefer to fix it by changing fpending.m4
so that it provides a definition of PENDING_OUTPUT_N_BYTES
that makes __fpending work on your system.
Many systems lack the __fpending function.  In that case,
configure-time tests determine which definition to use in the
replacement (__fpending.c) function.

Would you please see if you can patch fpending.m4 instead?

Also, please tell us about the failing system (e.g., kernel,
libc version), so that we can document that.


_______________________________________________
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to