Messages in this thread | | | From | "Jim Hollenback" <> | Date | Tue, 26 Mar 2002 09:13:31 -0800 | Subject | Re: readv() return and errno |
| |
Doesn't seem confusing at all.
RETURN VALUE On success readv returns the number of bytes read. On success writev returns the number of bytes written. On error, -1 is returned, and errno is set appropriately.
ERRORS EINVAL An invalid argument was given. For instance count
might be greater than MAX_IOVEC, or zero. fd could also be attached to an object which is unsuit- able for reading (for readv) or writing (for writev).
I don't see much in the way of waffle words. If count is greater than MAX_IOVEC or zero you get EINVAL. I suppose your next argument is if count exceeds MAX_IOVEC a return of 0 is okay since, hopefully, nothing was read? Where do you read a non-error return of zero is acceptable for count of 0? I states EINVAL for a count of 0.
If your going to rework the manpage, then drop a count of 0 as an error, otherwise fix the kernel with the trival patch.
Jim
On Mar 26, 9:01am, Balbir Singh wrote: > Subject: Re: readv() return and errno > I agree it is not a big thing at all, zero not > returning any error. Yes! I read and understood the > MAY return an error, it makes complete sense. > > I agree, the Linux man pages need a lot of work, > if they are going to be even close to reflecting > some of things in the kernel. > > > Thanks, > Balbir > > --- Andries.Brouwer@cwi.nl wrote: > > Jim Hollenback wrote: > > > > > According to readv(2) EINVAL is returned for an > > invalid > > > argument. > > > > Right. > > > > > The examples given were count might be greater > > than > > > MAX_IOVEC or zero. > > > > Wrong, or at least confusingly phrased. > > > > > > In the good old days, a man page described what the > > system did, > > and the ERRORS section gave the reasons for the > > possible error > > returns. > > These days a man page describes a function present > > on many > > Unix-like systems, and not all systems have > > precisely the > > same behaviour. POSIX man pages therefore > > distinguish under > > ERRORS the two possibilities "if foo then this error > > must be > > returned", and "if foo then this error may be > > returned". > > > > Linux man pages do not (yet) make this distinction - > > adding this is a lot of careful work, and so far > > nobody is doing this [hint..]. > > In other words, the ERRORS section in Linux man > > pages is > > to be interpreted as "if foo then this error may be > > returned". > > > > Note that it may not be desirable at all to do > > things that way, > > there is no need for kernel patches, it just means > > that systems > > exist with this behaviour, so that authors of > > portable programs > > must take this into account. > > > > Balbir Singh wrote: > > > > > Apply this trivial patch, if you want the required > > behaviour > > > > But the behaviour is not required. > > Paul Larson makes the same mistake. > > > > Andries > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Movies - coverage of the 74th Academy Awards® > http://movies.yahoo.com/ >-- End of excerpt from Balbir Singh
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |