I'm starting to look through the code in detail now, and one aspect of the API bothers me:
How is apr_bucket_free() going to figure out which apr_bucket_alloc_t to return the block to? All it has as input is a pointer to a bucket, in void* form. Some of the bucket types contain an apr_bucket_alloc_t*, but not all of them.
--Brian
Cliff Woolley wrote:
Well, it's not finished yet, but it's something you can look at if you like. http://icarus.apache.org/~jwoolley/ .
Things missing:
(a) calls to apr_bucket_alloc_create() and _destroy() at strategic locations within the MPMs. I'm hoping that's something one of you guys can help me with, since I haven't exactly spent a lot of time in the MPMs lately.
(b) the actually allocator itself -- right now, it's a wrapper around malloc() and free() (which is why we can get away without (a) at the moment) -- this part will fall easily into place as soon as Sander's pool API change is done. He and I talked about that today and it seems a perfect fit for the job.
I've tested the patch as it is right now to compile and run and pass httpd-test, but more eyes looking for stupid mistakes in largely uninteresting but widespread changes would be much appreciated.
Thanks, Cliff
-------------------------------------------------------------- Cliff Woolley [EMAIL PROTECTED] Charlottesville, VA
