httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Sutton <p...@ukweb.com>
Subject Re: [PATCH] Handle write errors when no SIGPIPE
Date Sat, 26 Apr 1997 15:46:33 GMT
On Fri, 25 Apr 1997, Roy T. Fielding wrote:
> Nathan's comments caused me to revisit the code that I had stared at
> for so long looking for an EPIPE.  I don't know why I missed it the first
> time, but the below patch will fix this problem.  Note that it is needed
> for all systems, since our current code will silently toss data if an
> interim write fails for any reason (very bad).  It will also be a huge
> load reducer for sites sending large messages to impatient users.

I've not studied the buff.c stuff in too much detail, but doesn't bwrite
already loop if it gets an EINTR on a write()? If so, the caller here
doesn't need to check it again. And can't bwrite() itself loop on
EAGAIN's?

If bwrite() doesn't and can't do both of these, do we need a similar loop
around the bwrite() in rprintf() and rvputs() in http_protocol.c?  (and
http_bprintf.c, which has several bwrite's with unchecked return status).

//pcs


Mime
View raw message