Mercurial > hg > nginx-vendor-0-8
diff src/http/ngx_http_file_cache.c @ 470:6866b490272e NGINX_0_7_47
nginx 0.7.47
*) Bugfix: nginx could not be built on FreeBSD 6 and early versions;
the bug had appeared in 0.7.46.
*) Bugfix: nginx could not be built on MacOSX; the bug had
appeared in 0.7.46.
*) Bugfix: if the "max_size" parameter was set, then the cache manager
might purge a whole cache; the bug had appeared in 0.7.46.
*) Change: a segmentation fault might occur in worker process, if the
"proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/
"fastcgi_cache_valid" were set on different levels; the bug had
appeared in 0.7.46.
*) Bugfix: a segmentation fault might occur in worker process, if a
request was redirected to a proxied or FastCGI server via error_page
or try_files; the bug had appeared in 0.7.44.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 01 Apr 2009 00:00:00 +0400 |
parents | 56baf312c1b5 |
children | 09f0ef15d544 |
line wrap: on
line diff
--- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c @@ -448,6 +448,7 @@ renew: fcn->valid_sec = 0; fcn->uniq = 0; fcn->body_start = 0; + fcn->length = 0; done: @@ -1065,6 +1066,9 @@ ngx_http_file_cache_manager(void *data) ngx_shmtx_unlock(&cache->shpool->mutex); + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, + "http file cache size: %O", size); + if (size < cache->max_size) { return next; } @@ -1290,6 +1294,10 @@ ngx_http_file_cache_valid(ngx_array_t *c ngx_uint_t i; ngx_http_cache_valid_t *valid; + if (cache_valid == NULL) { + return 0; + } + valid = cache_valid->elts; for (i = 0; i < cache_valid->nelts; i++) {