Author: markt Date: Mon Sep 10 10:07:34 2018 New Revision: 1840449 URL: http://svn.apache.org/viewvc?rev=1840449&view=rev Log: Optimize handling of request_config.
Modified: tomcat/jk/trunk/native/apache-2.0/mod_jk.c Modified: tomcat/jk/trunk/native/apache-2.0/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/apache-2.0/mod_jk.c?rev=1840449&r1=1840448&r2=1840449&view=diff ============================================================================== --- tomcat/jk/trunk/native/apache-2.0/mod_jk.c (original) +++ tomcat/jk/trunk/native/apache-2.0/mod_jk.c Mon Sep 10 10:07:34 2018 @@ -2729,6 +2729,14 @@ static int jk_handler(request_rec * r) return DECLINED; } + rconf = (jk_request_conf_t *)ap_get_module_config(r->request_config, &jk_module); + if (rconf == NULL) { + rconf = apr_palloc(r->pool, sizeof(jk_request_conf_t)); + rconf->jk_handled = JK_FALSE; + rconf->rule_extensions = NULL; + ap_set_module_config(r->request_config, &jk_module, rconf); + } + worker_name = apr_table_get(r->notes, JK_NOTE_WORKER_NAME); if (worker_name == NULL) { @@ -2752,8 +2760,6 @@ static int jk_handler(request_rec * r) worker_name_extension = JK_TRUE; parse_rule_extensions(w, e, xconf->log); worker_name = w; - rconf = (jk_request_conf_t *)ap_get_module_config(r->request_config, - &jk_module); rconf->rule_extensions = e; } } @@ -2787,9 +2793,9 @@ static int jk_handler(request_rec * r) worker_name = map_uri_to_worker_ext(xconf->uw_map, clean_uri, NULL, &e, NULL, xconf->log); - rconf = (jk_request_conf_t *)ap_get_module_config(r->request_config, - &jk_module); - rconf->rule_extensions = e; + if (worker_name) { + rconf->rule_extensions = e; + } } if (worker_name == NULL && worker_env.num_of_workers) { @@ -2809,8 +2815,6 @@ static int jk_handler(request_rec * r) " r->proxyreq=%d", r->handler, STRNULL_FOR_NULL(worker_name), r->proxyreq); - rconf = (jk_request_conf_t *)ap_get_module_config(r->request_config, - &jk_module); rconf->jk_handled = JK_TRUE; /* If this is a proxy request, we'll notify an error */ @@ -3845,8 +3849,9 @@ static int jk_translate(request_rec * r) rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, clean_uri, NULL, &e, NULL, conf->log); - rconf->rule_extensions = e; - ap_set_module_config(r->request_config, &jk_module, rconf); + if (worker) { + rconf->rule_extensions = e; + } } if (worker) { @@ -4021,8 +4026,9 @@ static int jk_map_to_storage(request_rec rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, clean_uri, NULL, &e, NULL, conf->log); - rconf->rule_extensions = e; - ap_set_module_config(r->request_config, &jk_module, rconf); + if (worker) { + rconf->rule_extensions = e; + } } if (worker) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org