Commit 62041e21 authored by Mladen Turk's avatar Mladen Turk
Browse files

Initialize workers for every virtual server not just for default one.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105298 13f79535-47bb-0310-9956-ffa450edef68
parent c6ceb146
Loading
Loading
Loading
Loading
+22 −19
Original line number Diff line number Diff line
@@ -1772,12 +1772,14 @@ static int proxy_status_hook(request_rec *r, int flags)

static void child_init(apr_pool_t *p, server_rec *s)
{
    
    while (s) {
        void *sconf = s->module_config;
    proxy_server_conf *conf = (proxy_server_conf *)
        ap_get_module_config(sconf, &proxy_module);
        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++) {
@@ -1792,7 +1794,8 @@ static void child_init(apr_pool_t *p, server_rec *s)
            /* Do not disable worker in case of errors */
            conf->forward->s->status |= PROXY_WORKER_IGNORE_ERRORS;
        }

        s = s->next;
    }
}

/*
+13 −10
Original line number Diff line number Diff line
@@ -776,11 +776,12 @@ static int balancer_handler(request_rec *r)

static void child_init(apr_pool_t *p, server_rec *s)
{
    while (s) {
        void *sconf = s->module_config;
    proxy_server_conf *conf = (proxy_server_conf *)
        ap_get_module_config(sconf, &proxy_module);
        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;
@@ -788,6 +789,8 @@ static void child_init(apr_pool_t *p, server_rec *s)
            init_runtime_score(conf, balancer);
            balancer++;
        }
        s = s->next;
    }

}