they're not simple buckets. they have a private data structure which
gets freed. if you're going to copy them and share whatever ->data points
to (which is what simple_copy does), you have to refcount the structure,
which is the whole point of apr_bucket_refcount and apr_bucket_shared_copy.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95421 13f79535-47bb-0310-9956-ffa450edef68
Add an allocator-passing mechanism throughout the bucket brigades API.
From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook. That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
freelist patch. The remaining tabs go away for free with that patch.
Submitted by: Sander Striker
Reviewed by: Brian Pane
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93714 13f79535-47bb-0310-9956-ffa450edef68
the buckets can't use it. I'll implement a free-list scheme private
to the buckets next. in the meanwhile we're back to using malloc/free
directly instead of via the std sms.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91117 13f79535-47bb-0310-9956-ffa450edef68
all of the members of the apr_bucket struct are always explicitly
initialized anyway... malloc() should be used instead.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89389 13f79535-47bb-0310-9956-ffa450edef68
about unreachable code in some compilers (notably MSVC). What
used to be done by this macro is now done inline in the various
apr_bucket_foo_create() functions. [Cliff Woolley]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88811 13f79535-47bb-0310-9956-ffa450edef68