changeset 1152:a9715f8f17a5

flush nocachable variables before ngx_http_script_run()
author Igor Sysoev <igor@sysoev.ru>
date Fri, 30 Mar 2007 19:00:34 +0000
parents b1ebd03de948
children c843f3df3b85
files src/http/ngx_http_script.c
diffstat 1 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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));