Mercurial > hg > nginx
comparison src/http/ngx_http_upstream.c @ 3247:1f3cd08ebb82 stable-0.7
merge r3017, r3018, r3019, r3020, r3021, r3022, r3023, r3196:
cache management fixes:
*) separate cache loader process
*) use real file cache length, this fixes cache size counting for responses
without "Content-Length" header and 304 responses.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 26 Oct 2009 17:23:49 +0000 |
parents | eb555a9a57d4 |
children | 8c76116820f3 |
comparison
equal
deleted
inserted
replaced
3246:eb555a9a57d4 | 3247:1f3cd08ebb82 |
---|---|
2061 if (valid) { | 2061 if (valid) { |
2062 r->cache->last_modified = r->headers_out.last_modified_time; | 2062 r->cache->last_modified = r->headers_out.last_modified_time; |
2063 r->cache->date = now; | 2063 r->cache->date = now; |
2064 r->cache->body_start = (u_short) (u->buffer.pos - u->buffer.start); | 2064 r->cache->body_start = (u_short) (u->buffer.pos - u->buffer.start); |
2065 | 2065 |
2066 if (r->headers_out.content_length_n != -1) { | |
2067 r->cache->length = r->cache->body_start | |
2068 + r->headers_out.content_length_n; | |
2069 } | |
2070 | |
2071 ngx_http_file_cache_set_header(r, u->buffer.start); | 2066 ngx_http_file_cache_set_header(r, u->buffer.start); |
2072 | 2067 |
2073 } else { | 2068 } else { |
2074 u->cacheable = 0; | 2069 u->cacheable = 0; |
2075 r->headers_out.last_modified_time = -1; | 2070 r->headers_out.last_modified_time = -1; |