httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dean gaudet <>
Subject Re: cvs commit: httpd-2.0 STATUS
Date Mon, 15 Jan 2001 17:20:01 GMT
On Fri, 12 Jan 2001, Greg Stein wrote:

> Consider: our main problem is the allocation of the brigade and the
> transient bucket. We use the transient bucket to defer copying until
> necessary. That is an important part, so we shouldn't lose that.

the transient bucket cann't defer copying on ap_rputs, it has to copy
immediately (because there's no reference counts for C strings).  this is
the broken part, this should be lost.

the solution is to copy into a 4k bucket and remember how much of the
bucket is used between calls.

> Consider: ap_r* are NOT re-entrant. Across all the functions.

i don't understand the significance of this -- you shouldn't have more
than one thread writing to the client at the same time.  supporting
re-entrancy is overkill.

(if you want to think in terms of HTTP/ng WebMux then modify my statement
to "you shouldn't have more than one thread writing a response at the same
time".  WebMux will need something like coalesce but at a lower level.)

also the solutions i've seen so far assume that httpd is the only thing
which requires buffered i/o.  it isn't...  this stuff belongs in APR.


View raw message