2.1.78 read(2) bug

Jon Nelson (jon@x183-191.reshalls.umn.edu)
Fri, 9 Jan 1998 14:51:02 -0600 (CST)


I've been experiencing a problem with the 2.1.78 kernel.
On my 2.0.33 box, read(fd, buffer, 0) (that's a zero) returns
instantly and gives a return value of 0, always. This is consistent
with the read(2)'s behavior as documented in the manpage:

If count is zero, read() returns zero and has no other
results. If count is greater than SSIZE_MAX, the result
is unspecified.

However, on 2.1.78, read(2) waits for input, which it shouldn't do,
and in certain situations returns -1 with errno = EAGAIN.

Can anybody confirm this?
I am able to reproduce the bug but it is a lengthy process and not
suitable for this method of information conveyance.

-- 
Jon Nelson
U of MN Housing and Res. Life Computing Supervisor
nels0988@tc.umn.edu