From owner-cvs-src@FreeBSD.ORG Tue Jan 25 11:15:48 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AF1416A4CE; Tue, 25 Jan 2005 11:15:48 +0000 (GMT) Received: from nagual.pp.ru (pobrecita.freebsd.ru [194.87.13.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 711B643D39; Tue, 25 Jan 2005 11:15:47 +0000 (GMT) (envelope-from ache@nagual.pp.ru) Received: from nagual.pp.ru (ache@localhost [127.0.0.1]) by nagual.pp.ru (8.13.1/8.13.1) with ESMTP id j0PBFkiX031034; Tue, 25 Jan 2005 14:15:46 +0300 (MSK) (envelope-from ache@nagual.pp.ru) Received: (from ache@localhost) by nagual.pp.ru (8.13.1/8.13.1/Submit) id j0PBFktK031033; Tue, 25 Jan 2005 14:15:46 +0300 (MSK) (envelope-from ache) Date: Tue, 25 Jan 2005 14:15:45 +0300 From: Andrey Chernov To: Poul-Henning Kamp Message-ID: <20050125111545.GC29791@nagual.pp.ru> Mail-Followup-To: Andrey Chernov , Poul-Henning Kamp , src-committers@FreeBSD.ORG, cvs-src@FreeBSD.ORG, cvs-all@FreeBSD.ORG References: <20050125105811.GA29791@nagual.pp.ru> <81495.1106650943@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <81495.1106650943@critter.freebsd.dk> User-Agent: Mutt/1.5.6i X-AntiVirus: checked by AntiVir Milter (version: 1.1.0-3; AVE: 6.29.0.8; VDF: 6.29.0.77; host: nagual.pp.ru) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.6 (nagual.pp.ru [0.0.0.0]); Tue, 25 Jan 2005 14:15:46 +0300 (MSK) cc: cvs-src@FreeBSD.ORG cc: src-committers@FreeBSD.ORG cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern sys_generic.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jan 2005 11:15:48 -0000 On Tue, Jan 25, 2005 at 12:02:23PM +0100, Poul-Henning Kamp wrote: > >> >"This volume of IEEE Std 1003.1-2001 requires that no action be taken for > >> >read() or write() when nbyte is zero. This is not intended to take > >> >precedence over detection of errors (such as invalid buffer pointers or > >> >file descriptors). This is consistent with the rest of this volume of IEEE > >> >Std 1003.1-2001, but the phrasing here could be misread to require > >> >detection of the zero case before any other errors." > > Std 1003.1-2001, but the phrasing here could be misread to require > detection of the zero case before any other errors." > > Does not say you are not allowed to check for the zero case first, only that > you are not required to do so. The quote above is not complete, last phrase slips in the exchange: "A value of zero is to be considered a correct value, for which the semantics are a no-op." For any correct value read() checks some FS-dependent errors conditions and may return errors, but not for zero value now. It means we can't now call zero value "correct". "No-op" does not means error conditions should be skipped. Instead, it means that non-error case operation is empty. -- http://ache.pp.ru/