I believe that I have found a bug in 2.1.x kernels that is rather serious.
In short, read(fd, buffer, 0) returns a -1 with errno = EAGAIN.
According to the manpage, read(fd, buffer, 0) should *always* return 0

>From 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.

Would someone care to confirm this?
It has been demonstrated on a 2.1.76 kernel machine.
 
The Boa Webserver that I help maintain exhibited this bug, as noticed by
Christoph Lameter <[EMAIL PROTECTED]>.  I would like to thank Christoph
for helping me track down this bug, as his input and gracious access to a 
2.1.x machine helped immensely.
-- 
Jon Nelson
U of MN Housing and Res. Life Computing Supervisor
[EMAIL PROTECTED] 


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .

Reply via email to