From owner-freebsd-arch@FreeBSD.ORG Sat Jun 19 13:07:29 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9E2516A4CE; Sat, 19 Jun 2004 13:07:29 +0000 (GMT) Received: from nagual.pp.ru (pobrecita.freebsd.ru [194.87.13.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AC4C43D53; Sat, 19 Jun 2004 13:07:29 +0000 (GMT) (envelope-from ache@pobrecita.freebsd.ru) Received: from pobrecita.freebsd.ru (ache@localhost [127.0.0.1]) by nagual.pp.ru (8.12.11/8.12.11) with ESMTP id i5JD7J39071718; Sat, 19 Jun 2004 17:07:19 +0400 (MSD) (envelope-from ache@pobrecita.freebsd.ru) Received: (from ache@localhost) by pobrecita.freebsd.ru (8.12.11/8.12.11/Submit) id i5JD7JM3071717; Sat, 19 Jun 2004 17:07:19 +0400 (MSD) (envelope-from ache) Date: Sat, 19 Jun 2004 17:07:18 +0400 From: Andrey Chernov To: Tim Robbins Message-ID: <20040619130718.GA71593@nagual.pp.ru> Mail-Followup-To: Andrey Chernov , Tim Robbins , freebsd-arch@FreeBSD.ORG 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040619120149.GA64515@cat.robbins.dropbear.id.au> User-Agent: Mutt/1.5.6i X-AntiVirus: checked by AntiVir Milter 1.1-beta; AVE 6.25.0.62; VDF 6.25.0.102 (host: pobrecita.freebsd.ru) cc: freebsd-arch@FreeBSD.ORG Subject: Re: fflush() on readonly files X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2004 13:07:30 -0000 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/