cvs commit: src/sys/kern sys_generic.c

Andrey Chernov ache at nagual.pp.ru
Sun Jul 3 01:10:46 GMT 2005


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/



More information about the cvs-src mailing list