[PATCH] prevent retries on fclose/fflush after write errors

Mike Frysinger vapier at gentoo.org
Tue Mar 13 20:21:25 UTC 2012


On Tuesday 13 March 2012 01:58:49 Rich Felker wrote:
> On Tue, Mar 13, 2012 at 01:41:01AM -0400, Mike Frysinger wrote:
> > On Sunday 11 March 2012 11:12:19 Denys Vlasenko wrote:
> > > --- a/libc/sysdeps/linux/common/bits/uClibc_stdio.h
> > > +++ b/libc/sysdeps/linux/common/bits/uClibc_stdio.h
> > > @@ -250,6 +250,7 @@ struct __STDIO_FILE_STRUCT {
> > >  	unsigned char __ungot[2];
> > >  #endif /* __UCLIBC_HAS_WCHAR__ */
> > >  	int __filedes;
> > > +	int __errno_value;
> > >  #ifdef __STDIO_BUFFERS
> > >  	unsigned char *__bufstart;	/* pointer to buffer */
> > >  	unsigned char *__bufend;	/* pointer to 1 past end of buffer */
> > 
> > pretty sure this breaks ABI.  i know we aren't completely strict on this,
> > but it's something we should avoid if possible.
> 
> How so? Application code should not be touching the internals of
> FILE...

because the uClibc macros which implement the public API directly access the 
structure contents.  look at the getc macros and how it leverages the locking 
members.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20120313/0fdd9eb2/attachment.asc>


More information about the uClibc mailing list