[PATCH] prevent retries on fclose/fflush after write errors
u-uclibc-qs50 at aetey.se
u-uclibc-qs50 at aetey.se
Tue Mar 13 16:06:35 UTC 2012
Hi Rich,
On Tue, Mar 13, 2012 at 10:36:48AM -0400, Rich Felker wrote:
> > > On Tue, Mar 13, 2012 at 01:41:01AM -0400, Mike Frysinger wrote:
> > > > > int __filedes;
> > > > > + int __errno_value;
> > You are right Rich but it seems you are thinking of API while this change
> > breaks ABI.
>
> If it does, I still don't see how it could. Applications cannot
> declare objects of type FILE, only FILE *. Short of some macros that
> poke at the early members of the structure (getc/putc macros), it's
Applications actually can declare, allocate, copy FILE objects
unless explicitely prohibited by the specification - does it
prohibit this? All I found is a mention that a copy of a FILE object
is unusable at a different address than the original
(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf page 266
last paragraph).
I can not think of an apparent meaningful reason for copying FILE or
using sizeof(FILE) but this by itself doesn't mean there isn't any.
(sorry for a phrase with three negations...)
That's why I assume that the FILE structure as a whole is a part of the
ABI, despite being opaque.
I may be wrong reading/interpreting specification(s), then please
correct me.
The actual change being discussed may be compatible in practice,
I take your word for this!
> Rich
Regards,
Rune
More information about the uClibc
mailing list