diff options
Diffstat (limited to 'src/http/modules/perl/nginx.xs')
-rw-r--r-- | src/http/modules/perl/nginx.xs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/http/modules/perl/nginx.xs b/src/http/modules/perl/nginx.xs index de4d20074..cc0fc4ba6 100644 --- a/src/http/modules/perl/nginx.xs +++ b/src/http/modules/perl/nginx.xs @@ -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) { |