You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mt...@apache.org on 2004/09/26 20:17:38 UTC
cvs commit: httpd-2.0/modules/proxy mod_proxy.c proxy_balancer.c
mturk 2004/09/26 11:17:38
Modified: modules/proxy mod_proxy.c proxy_balancer.c
Log:
Initialize workers for every virtual server not just for default one.
Revision Changes Path
1.148 +22 -19 httpd-2.0/modules/proxy/mod_proxy.c
Index: mod_proxy.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/proxy/mod_proxy.c,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -r1.147 -r1.148
--- mod_proxy.c 26 Sep 2004 06:54:27 -0000 1.147
+++ mod_proxy.c 26 Sep 2004 18:17:38 -0000 1.148
@@ -1772,27 +1772,30 @@
static void child_init(apr_pool_t *p, server_rec *s)
{
- void *sconf = s->module_config;
- proxy_server_conf *conf = (proxy_server_conf *)
- ap_get_module_config(sconf, &proxy_module);
- proxy_worker *worker;
- int i;
- /* Initialize worker's shared scoreboard data */
- worker = (proxy_worker *)conf->workers->elts;
- for (i = 0; i < conf->workers->nelts; i++) {
- ap_proxy_initialize_worker_share(conf, worker);
- ap_proxy_initialize_worker(worker, s);
- worker++;
- }
- /* Initialize forward worker if defined */
- if (conf->forward) {
- ap_proxy_initialize_worker_share(conf, conf->forward);
- ap_proxy_initialize_worker(conf->forward, s);
- /* Do not disable worker in case of errors */
- conf->forward->s->status |= PROXY_WORKER_IGNORE_ERRORS;
- }
+ while (s) {
+ void *sconf = s->module_config;
+ proxy_server_conf *conf;
+ proxy_worker *worker;
+ int i;
+ conf = (proxy_server_conf *)ap_get_module_config(sconf, &proxy_module);
+ /* Initialize worker's shared scoreboard data */
+ worker = (proxy_worker *)conf->workers->elts;
+ for (i = 0; i < conf->workers->nelts; i++) {
+ ap_proxy_initialize_worker_share(conf, worker);
+ ap_proxy_initialize_worker(worker, s);
+ worker++;
+ }
+ /* Initialize forward worker if defined */
+ if (conf->forward) {
+ ap_proxy_initialize_worker_share(conf, conf->forward);
+ ap_proxy_initialize_worker(conf->forward, s);
+ /* Do not disable worker in case of errors */
+ conf->forward->s->status |= PROXY_WORKER_IGNORE_ERRORS;
+ }
+ s = s->next;
+ }
}
/*
1.25 +13 -10 httpd-2.0/modules/proxy/proxy_balancer.c
Index: proxy_balancer.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/proxy/proxy_balancer.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- proxy_balancer.c 26 Sep 2004 06:58:36 -0000 1.24
+++ proxy_balancer.c 26 Sep 2004 18:17:38 -0000 1.25
@@ -776,17 +776,20 @@
static void child_init(apr_pool_t *p, server_rec *s)
{
- void *sconf = s->module_config;
- proxy_server_conf *conf = (proxy_server_conf *)
- ap_get_module_config(sconf, &proxy_module);
- proxy_balancer *balancer;
- int i;
+ while (s) {
+ void *sconf = s->module_config;
+ proxy_server_conf *conf;
+ proxy_balancer *balancer;
+ int i;
+ conf = (proxy_server_conf *)ap_get_module_config(sconf, &proxy_module);
- /* Initialize shared scoreboard data */
- balancer = (proxy_balancer *)conf->balancers->elts;
- for (i = 0; i < conf->balancers->nelts; i++) {
- init_runtime_score(conf, balancer);
- balancer++;
+ /* Initialize shared scoreboard data */
+ balancer = (proxy_balancer *)conf->balancers->elts;
+ for (i = 0; i < conf->balancers->nelts; i++) {
+ init_runtime_score(conf, balancer);
+ balancer++;
+ }
+ s = s->next;
}
}