summaryrefslogtreecommitdiffstats
path: root/server/mpm/experimental/perchild
diff options
context:
space:
mode:
authorCliff Woolley <jwoolley@apache.org>2002-03-29 09:17:26 +0100
committerCliff Woolley <jwoolley@apache.org>2002-03-29 09:17:26 +0100
commit3e2ce19baf3b621863e34107579b6b6b0f9f8f42 (patch)
tree2e4c11f4e59a3fd1c5002c70053333b951c4c013 /server/mpm/experimental/perchild
parentimport ssl_proxy_enable in the post config phase, otherwise LoadModule (diff)
downloadapache2-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.c8
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);