diff options
author | Cliff Woolley <jwoolley@apache.org> | 2002-03-29 09:17:26 +0100 |
---|---|---|
committer | Cliff Woolley <jwoolley@apache.org> | 2002-03-29 09:17:26 +0100 |
commit | 3e2ce19baf3b621863e34107579b6b6b0f9f8f42 (patch) | |
tree | 2e4c11f4e59a3fd1c5002c70053333b951c4c013 /server/mpm/experimental/perchild | |
parent | import ssl_proxy_enable in the post config phase, otherwise LoadModule (diff) | |
download | apache2-3e2ce19baf3b621863e34107579b6b6b0f9f8f42.tar.xz apache2-3e2ce19baf3b621863e34107579b6b6b0f9f8f42.zip |
BUCKET FREELISTS
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
Diffstat (limited to 'server/mpm/experimental/perchild')
-rw-r--r-- | server/mpm/experimental/perchild/perchild.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/server/mpm/experimental/perchild/perchild.c b/server/mpm/experimental/perchild/perchild.c index 0cd8644859..5a1128ceeb 100644 --- a/server/mpm/experimental/perchild/perchild.c +++ b/server/mpm/experimental/perchild/perchild.c @@ -1540,19 +1540,19 @@ static int pass_request(request_rec *r) struct cmsghdr *cmsg; int sfd; struct iovec iov; - apr_bucket_brigade *bb = apr_brigade_create(r->pool); + conn_rec *c = r->connection; + apr_bucket_brigade *bb = apr_brigade_create(r->pool, c->bucket_alloc); perchild_server_conf *sconf = (perchild_server_conf *) ap_get_module_config(r->server->module_config, &mpm_perchild_module); char *foo; apr_size_t len; - apr_pool_userdata_get((void **)&foo, "PERCHILD_BUFFER", - r->connection->pool); + apr_pool_userdata_get((void **)&foo, "PERCHILD_BUFFER", c->pool); len = strlen(foo); apr_pool_userdata_set(NULL, "PERCHILD_BUFFER", apr_pool_cleanup_null, - r->connection->pool); + c->pool); apr_os_sock_get(&sfd, thesock); |