From owner-cvs-all@FreeBSD.ORG Mon Mar 8 19:54:43 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3609216A4CE; Mon, 8 Mar 2004 19:54:43 -0800 (PST) Received: from smtp01.syd.iprimus.net.au (smtp01.syd.iprimus.net.au [210.50.30.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 493F943D2F; Mon, 8 Mar 2004 19:54:42 -0800 (PST) (envelope-from tim@robbins.dropbear.id.au) Received: from robbins.dropbear.id.au (210.50.204.98) by smtp01.syd.iprimus.net.au (7.0.024) id 402BA927008224D5; Tue, 9 Mar 2004 14:54:39 +1100 Received: by robbins.dropbear.id.au (Postfix, from userid 1000) id 2398C41A4; Tue, 9 Mar 2004 14:55:32 +1100 (EST) Date: Tue, 9 Mar 2004 14:55:32 +1100 From: Tim Robbins To: John Birrell Message-ID: <20040309035532.GA88825@cat.robbins.dropbear.id.au> References: <200403090245.i292j0a6035728@repoman.freebsd.org> <20040309032248.GA88649@cat.robbins.dropbear.id.au> <20040309143223.Q234@freebsd3.cimlogic.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040309143223.Q234@freebsd3.cimlogic.com.au> User-Agent: Mutt/1.4.1i cc: cvs-src@freebsd.org cc: John Birrell cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libc/stdio _flock_stub.c local.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Mar 2004 03:54:43 -0000 On Tue, Mar 09, 2004 at 02:32:23PM +1100, John Birrell wrote: > On Tue, Mar 09, 2004 at 02:22:48PM +1100, Tim Robbins wrote: > > Is this a useful behaviour to support? ORIENT needs to be kept as > > simple as possible since it is invoked for every single stdio call. > > The extra conditional may make a difference for getc() and putc() > > in the single-threaded case. > > If you were concerned about performance "for every single stdio call", > the locking calls would never have been allowed into libc in the > first place. In a single-threaded program they aren't required. My concern here is that we are slowing down critical paths for the sake of broken applications that grope around inside FILEs. Why do we need to support this? Which applications require it, and why? Tim