From ca300bfa31414f756c9c75c4fab860b0b4a0a82b Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Thu, 30 Mar 2006 17:30:32 +0000 Subject: [PATCH] Merge r374929 from trunk: * Do not overwrite the status of initialized workers and respect the configured status of uninitilized workers when creating a new child process. Submitted by: rpluem Reviewed by: jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@390182 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 4 ++++ STATUS | 9 --------- modules/proxy/mod_proxy_balancer.c | 11 ++++++++++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CHANGES b/CHANGES index 04dcbd649a0..24e0f18741c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.1 + *) mod_proxy_balancer: Do not overwrite the status of initialized workers and + respect the configured status of uninitilized workers when creating a new + child process. [Ruediger Pluem] + *) mod_proxy_ajp: Crosscheck the length of the body chunk with the length of the ajp message to prevent mod_proxy_ajp from reading beyond the buffer boundaries and thus revealing possibly sensitive memory contents to the diff --git a/STATUS b/STATUS index 18b2e55581e..8b4c4d0ad52 100644 --- a/STATUS +++ b/STATUS @@ -134,15 +134,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: http://people.apache.org/~rpluem/patches/partial_2.2.diff +1: jim, rpluem, jerenkrantz - * mod_proxy_balancer: Do not overwrite the status of initialized workers and - respect the configured status of uninitilized workers when creating a new - child process. - Trunk version of patch: - http://svn.apache.org/viewcvs?rev=374929&view=rev - Backport version for 2.2.x of patch: - Trunk version of patch works - +1: rpluem, jim, pquerna - PATCHES PROPOSED TO BACKPORT FROM TRUNK: * mod_dbd: When threaded, create a private pool in child_init diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index def1919254d..c05635a2340 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -84,7 +84,16 @@ static int init_balancer_members(proxy_server_conf *conf, server_rec *s, for (i = 0; i < balancer->workers->nelts; i++) { ap_proxy_initialize_worker_share(conf, workers, s); - workers->s->status = PROXY_WORKER_INITIALIZED; + if (!(workers->s->status & PROXY_WORKER_INITIALIZED)) { + workers->s->status |= (workers->status | PROXY_WORKER_INITIALIZED); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, + "proxy: BALANCER: initialized balancer member %d for " + "balancer %s in child %" APR_PID_T_FMT " for (%s) " + "min=%d max=%d smax=%d", + workers->id, balancer->name, getpid(), + workers->hostname, workers->min, workers->hmax, + workers->smax); + } ++workers; } -- 2.47.2