]> git.kaiwu.me - nginx.git/commitdiff
initialize of.uniq in ngx_open_cached_file()
authorIgor Sysoev <igor@sysoev.ru>
Mon, 23 Jun 2008 13:35:34 +0000 (13:35 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Mon, 23 Jun 2008 13:35:34 +0000 (13:35 +0000)
src/core/ngx_open_file_cache.c
src/http/modules/ngx_http_flv_module.c
src/http/modules/ngx_http_gzip_static_module.c
src/http/modules/ngx_http_index_module.c
src/http/modules/ngx_http_static_module.c
src/http/modules/perl/nginx.xs
src/http/ngx_http_script.c

index d9ec1881bf03ff173b44c6d272117596d62f5c7f..4e4c1c5bd8a85959e091a502a1b2272b6170b9a1 100644 (file)
@@ -189,7 +189,9 @@ ngx_open_cached_file(ngx_open_file_cache_t *cache, ngx_str_t *name,
         }
 
         if ((file->event && file->use_event)
-            || (file->event == NULL && now - file->created < of->valid))
+            || (file->event == NULL
+                && (of->uniq == 0 || of->uniq == file->uniq)
+                && now - file->created < of->valid))
         {
             if (file->err == 0) {
 
index 0e190910cabd613e83ad307eae4757f032cdc323..5dedb9e82928e7721cbd59c1c79e854c53d77dac 100644 (file)
@@ -105,6 +105,7 @@ ngx_http_flv_handler(ngx_http_request_t *r)
 
     clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
 
+    of.uniq = 0;
     of.test_dir = 0;
     of.valid = clcf->open_file_cache_valid;
     of.min_uses = clcf->open_file_cache_min_uses;
index e6d44ec7b232fd8e21957bdd253995fa39c668e0..a63281a8bed33b84a3286b974d59c384969566ff 100644 (file)
@@ -119,6 +119,7 @@ ngx_http_gzip_static_handler(ngx_http_request_t *r)
 
     clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
 
+    of.uniq = 0;
     of.test_dir = 0;
     of.valid = clcf->open_file_cache_valid;
     of.min_uses = clcf->open_file_cache_min_uses;
index bd9c18c9d9bc36659bc5db2b1389f3423d41a008..096844400a1b04c84f46aa353664921dfa1c4eb2 100644 (file)
@@ -208,6 +208,7 @@ ngx_http_index_handler(ngx_http_request_t *r)
 
         ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0, "open index \"%V\"", &path);
 
+        of.uniq = 0;
         of.test_dir = 0;
         of.valid = clcf->open_file_cache_valid;
         of.min_uses = clcf->open_file_cache_min_uses;
@@ -291,6 +292,7 @@ ngx_http_index_test_dir(ngx_http_request_t *r, ngx_http_core_loc_conf_t *clcf,
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "http index check dir: \"%V\"", &dir);
 
+    of.uniq = 0;
     of.test_dir = 1;
     of.valid = clcf->open_file_cache_valid;
     of.min_uses = 0;
index fc84268dca1edecb24e0aea0f9f739054858fc8f..9d48fb91bcdb70b4963fc33a630e8cf7c75af291 100644 (file)
@@ -96,6 +96,7 @@ ngx_http_static_handler(ngx_http_request_t *r)
 
     clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
 
+    of.uniq = 0;
     of.test_dir = 0;
     of.valid = clcf->open_file_cache_valid;
     of.min_uses = clcf->open_file_cache_min_uses;
index de4d20074d68f36220e639aa77a7f9346e0400b3..cc0fc4ba64953140caa8c064fac082787f403035 100644 (file)
@@ -639,14 +639,6 @@ sendfile(r, filename, offset = -1, bytes = 0)
         XSRETURN_EMPTY;
     }
 
-    clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
-
-    of.test_dir = 0;
-    of.valid = clcf->open_file_cache_valid;
-    of.min_uses = clcf->open_file_cache_min_uses;
-    of.errors = clcf->open_file_cache_errors;
-    of.events = clcf->open_file_cache_events;
-
     path.len = ngx_strlen(filename);
 
     path.data = ngx_pnalloc(r->pool, path.len + 1);
@@ -656,6 +648,15 @@ sendfile(r, filename, offset = -1, bytes = 0)
 
     (void) ngx_cpystrn(path.data, filename, path.len + 1);
 
+    clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
+
+    of.uniq = 0;
+    of.test_dir = 0;
+    of.valid = clcf->open_file_cache_valid;
+    of.min_uses = clcf->open_file_cache_min_uses;
+    of.errors = clcf->open_file_cache_errors;
+    of.events = clcf->open_file_cache_events;
+
     if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool)
         != NGX_OK)
     {
index 0bdb944a98c2498d1f12f6da02ed68645f369246..af6e3098f99b0a314a4cbba819fa709d46d46aaa 100644 (file)
@@ -994,6 +994,7 @@ ngx_http_script_file_code(ngx_http_script_engine_t *e)
 
     clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
 
+    of.uniq = 0;
     of.test_dir = 0;
     of.valid = clcf->open_file_cache_valid;
     of.min_uses = clcf->open_file_cache_min_uses;