Messages in this thread | | | Date | Wed, 6 Nov 2002 14:38:49 -0500 | From | Adam Kropelin <> | Subject | Re: [2.4.19] read(2) and page aligned buffers |
| |
On Wed, Nov 06, 2002 at 01:13:57PM -0500, Clayton Weaver wrote: > a short count with errno == 0, the wrapper loops > and tries to read the rest of the file to the > offset into the buffer past what it already read, > read() returns 0 with errno still == 0, and of > course the wrapper decides that it must be at > EOF (read() == 0 && errno == 0) and returns.
This isn't necessarily the cause of your problem, but your description here smells an awful lot like classic errno abuse. errno is only valid when read() returns -1. The check you cite in your last sentence is illegal.
If read() returns 0, you're done. You're at EOF. If you're not actually at EOF then *that* is a bug.
--Adam
- 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/
| |