APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2003/12/10 23:01:00 $]
+Last modified at [$Date: 2003/12/11 02:02:08 $]
Release:
http://cvs.apache.org/viewcvs/httpd-2.0/server/mpm/prefork/prefork.c.diff?r1=1.279&r2=1.280
+1: jorton, trawick
- * Make Win32 MPM honor MaxMemFree for transaction pools
- server/mpm/winnt/child.c: r1.17
- server/mpm/winnt/mpm.h: r1.14
- +1: stoddard
- +1 (concept): trawick (looks reasonable when compared with worker)
- +1 (concept): jwoolley (same reason. though why is ptrans no longer
- a child pool of pchild?)
-
* parsed_uri.port is only valid iff parsed_uri.port_str != NULL.
Old code simply checked if it was non-zero, not if it
was *valid*
* Fix a long delay with CGI requests and keepalive connections on
AIX.
modules/generators/mod_cgid.c r1.159
- +1: trawick
+ +1: trawick, stoddard
* mod_status hook
configure.in r1.254
* Multiple failures in the next two steps will cause the pchild pool
* to 'leak' storage. I don't think this is worth fixing...
*/
+ apr_allocator_t *allocator;
+
context = (PCOMP_CONTEXT) apr_pcalloc(pchild, sizeof(COMP_CONTEXT));
context->Overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
}
/* Create the tranaction pool */
- if ((rv = apr_pool_create(&context->ptrans, pchild)) != APR_SUCCESS) {
+ apr_allocator_create(&allocator);
+ apr_allocator_max_free_set(allocator, ap_max_mem_free);
+ rv = apr_pool_create_ex(&context->ptrans, pchild, NULL, allocator);
+ if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK,APLOG_WARNING, rv, ap_server_conf,
"mpm_get_completion_context: Failed to create the transaction pool.");
CloseHandle(context->Overlapped.hEvent);
return NULL;
}
- apr_pool_tag(context->ptrans, "ptrans");
-
+ apr_pool_tag(context->ptrans, "transaction");
+ apr_allocator_owner_set(allocator, context->ptrans);
context->accept_socket = INVALID_SOCKET;
context->ba = apr_bucket_alloc_create(pchild);
apr_atomic_inc(&num_completion_contexts);
if (context == NULL) {
/* allocate the completion context and the transaction pool */
+ apr_allocator_t *allocator;
context = apr_pcalloc(pchild, sizeof(COMP_CONTEXT));
- apr_pool_create(&context->ptrans, pchild);
- apr_pool_tag(context->ptrans, "ptrans");
+ apr_allocator_create(&allocator);
+ apr_allocator_max_free_set(allocator, ap_max_mem_free);
+ apr_pool_create_ex(&context->ptrans, pchild, NULL, allocator);
+ apr_pool_tag(context->ptrans, "transaction");
context->ba = apr_bucket_alloc_create(pchild);
}