Date: Sat, 19 Jun 2004 17:07:18 +0400 From: Andrey Chernov <ache@nagual.pp.ru> To: Tim Robbins <tjr@FreeBSD.ORG> Cc: freebsd-arch@FreeBSD.ORG Subject: Re: fflush() on readonly files Message-ID: <20040619130718.GA71593@nagual.pp.ru> In-Reply-To: <20040619120149.GA64515@cat.robbins.dropbear.id.au> References: <20040609154040.GA26229@asura.bsd> <20040610021356.GA4990@VARK.homeunix.com> <20040610025439.GA11655@cat.robbins.dropbear.id.au> <20040619095642.GA67130@sanatana.dharma> <20040619105938.GA69596@nagual.pp.ru> <20040619120149.GA64515@cat.robbins.dropbear.id.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 19, 2004 at 10:01:49PM +1000, Tim Robbins wrote: > This has already been discussed: > - Microsoft libraries and other libraries imitating them discard buffered > input data (like fpurge().) Damn them. > - UNIX libc (at least 7th ed.), Solaris libc, GNU libc and products derived > from P.J. Plauger's C library (e.g. QNX) do nothing and indicate success. We need to do the same again (at least until some standard says otherwise). > - BSD since Torek's stdio rewrite (inc. FreeBSD and Mac OS X) indicate > an error. We need to fix just fflush() case only, left other rewrite parts untouched. if ((fp->_flags & (__SWR | __SRW)) == 0) retval = 0; > There is no reason to change from the perfectly correct & well-documented > behaviour BSD has had for 10-15 years. The original poster's example provides > a good argument for this: it detects application bugs. I agree. -- Andrey Chernov | http://ache.pp.ru/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040619130718.GA71593>