httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject return code of rput*, etc.
Date Sat, 01 Feb 1997 22:46:06 GMT
There are a lot of modules which do not check the return code of things
like rputc.  This means that even if the connection is aborted with a soft
timeout (or a SIGPIPE when there is no hard_timeout or keepalive_timeout
set) they will still keep sending data.  

This means, for example, if you request a 10 meg file parsed by
mod_include and abort the connection at the start of the send, mod_include
will still keep trying to send all the rest of the file; it won't get past
the socket interface because the socket is closed, but it will still waste
the server's resources.

I think a few well-placed checks of the return code from rputc (eg.
in find_string) with the proper abort if a -1 is returned would help this.
I think mod_include is the worst offender, simply because it sends more
data than the average module.  I'll take a look at doing this when I get a
chance, unless someone has other comments...

View raw message