Mail Archives: cygwin-developers/2000/04/02/20:46:49
On Sun, Apr 02, 2000 at 03:58:57PM -0500, Mumit Khan wrote:
>On Wed, 15 Mar 2000, Chris Faylor wrote:
>> This sounds correct to me. Passing what is essentially a bogus argument
>> for the buffer length is just wrong. At the very least, it's subject to
>> problems if the file size changes while you're reading it. Admittedly
>> this is an unusual occurrence but why not program for something like this
>> and fail gracefully rather than core dumping?
>fyi, the makeinfo bug is caused by a (undocumented of course) bug in Win32
>Here's what David Korn says when it showed up in UWIN as well:
>Yet some more bizarre undocumented win32 behavior. If you call the
>Win32 ReadFile() function with size greater than 32K, and you are at
>the end of file, it does not return successfully with 0 bytes as you
>would expect, but fails with ERROR_NOACCESS.
>This should be fixed in the runtime, but I have to find a reliable way
>to detect this (since we have to differentiate between this buggy
>behaviour and other legitimate causes of ERROR_NOACCESS).
Are we sure that this is a correct analysis? The previous analysis was
that ReadFile was being passed a length which was larger than its
supplied buffer. That is (to me) inarguably wrong. You can't say "I
know how big the file is" because you can *never* know how big the file
is in a multi-tasking operating system.
It seems like Dave Bryan went to some effort to track this down and I don't
see that his analysis is incorrect.
- Raw text -