# HG changeset patch # User Igor Sysoev # Date 1175281234 0 # Node ID a9715f8f17a5b04c01a978fcfaf242d1ac203ba4 # Parent b1ebd03de9486bda7bb4367edce00426cb2f4d4b flush nocachable variables before ngx_http_script_run() diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c --- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -305,9 +305,20 @@ u_char * ngx_http_script_run(ngx_http_request_t *r, ngx_str_t *value, void *code_lengths, size_t len, void *code_values) { - ngx_http_script_code_pt code; - ngx_http_script_len_code_pt lcode; - ngx_http_script_engine_t e; + ngx_uint_t i; + ngx_http_script_code_pt code; + ngx_http_script_len_code_pt lcode; + ngx_http_script_engine_t e; + ngx_http_core_main_conf_t *cmcf; + + cmcf = ngx_http_get_module_main_conf(r, ngx_http_core_module); + + for (i = 0; i < cmcf->variables.nelts; i++) { + if (r->variables[i].no_cachable) { + r->variables[i].valid = 0; + r->variables[i].not_found = 0; + } + } ngx_memzero(&e, sizeof(ngx_http_script_engine_t));