summaryrefslogtreecommitdiff
path: root/src/configfile.h
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2021-11-19 15:50:02 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2021-11-19 20:48:05 -0500
commit7ea2d407344046c81e5c6410f8a4f447efe8fdfc (patch)
treefd89e0da3fa989b57cb4f78defe8e6b13284f52d /src/configfile.h
parent04d387e37fc97a6e3176d3e03a98585fbd341793 (diff)
downloadlighttpd-git-7ea2d407344046c81e5c6410f8a4f447efe8fdfc.tar.gz
[core] save config regex captures only if used
save config regex captures separately only if used by url.redirect or url.rewrite replacement directives within the condition (or for conditions containing directives from any other module which calls config_capture() for its directives during init) keep pointer to match data (cond_match_t *) in r->cond_match[] rather than cond_match_t to reduce data copying in h2_init_stream(). h2_init_stream() copies the results for already-evaluated conditions to avoid re-evaluating connection-level conditions for each and every stream. When conditions are reset, then the pointer in r->cond_match[] is updated when the condition is re-evaluated. (This all assumes that HTTP/2 connection-level conditions are not unset or re-evaluated once HTTP/2 streams begin.)
Diffstat (limited to 'src/configfile.h')
-rw-r--r--src/configfile.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/configfile.h b/src/configfile.h
index f38263c6..ae75e713 100644
--- a/src/configfile.h
+++ b/src/configfile.h
@@ -37,6 +37,7 @@ struct data_config {
void *regex;
struct pcre_extra *regex_study;
#endif
+ int capture_idx;
int ext;
buffer comp_tag;
const char *comp_key;