Re: cvs commit: src/sys/kern sys_generic.c

From: Poul-Henning Kamp <phk_at_phk.freebsd.dk>
Date: Tue, 25 Jan 2005 12:02:23 +0100
In message <20050125105811.GA29791_at_nagual.pp.ru>, Andrey Chernov writes:

>> >"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."
>> 
>> Notice the "require" it doesn't ban the practice.

>What's about "invalid buffer pointers" detection, directly mentioned in 
>the standard (above)? Now it is broken for zero bytes read because your 
>newly inserted check takes precedence.


	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.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk_at_FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
Received on Tue Jan 25 2005 - 11:02:26 UTC