Mercurial > hg > nginx
changeset 6456:c94aba230a5a
Resolver: introduced valid field in resolver responses.
It hints the amount of time a response could be considered
as valid.
author | Dmitry Volyntsev <xeioex@nginx.com> |
---|---|
date | Wed, 23 Mar 2016 17:44:36 +0300 |
parents | ad2360782ecd |
children | a6711b85da83 |
files | src/core/ngx_resolver.c src/core/ngx_resolver.h |
diffstat | 2 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_resolver.c Wed Mar 23 17:44:04 2016 +0300 +++ b/src/core/ngx_resolver.c Wed Mar 23 17:44:36 2016 +0300 @@ -551,6 +551,7 @@ do { ctx->state = NGX_OK; + ctx->valid = rn->valid; ctx->naddrs = naddrs; if (addrs == NULL) { @@ -597,6 +598,7 @@ do { ctx->state = NGX_RESOLVE_NXDOMAIN; + ctx->valid = ngx_time() + (r->valid ? r->valid : 10); next = ctx->next; ctx->handler(ctx); @@ -859,6 +861,7 @@ /* unlock addr mutex */ ctx->state = NGX_OK; + ctx->valid = rn->valid; ctx->handler(ctx); @@ -1948,6 +1951,7 @@ while (next) { ctx = next; ctx->state = code; + ctx->valid = ngx_time() + (r->valid ? r->valid : 10); next = ctx->next; ctx->handler(ctx); @@ -2262,6 +2266,7 @@ while (next) { ctx = next; ctx->state = NGX_OK; + ctx->valid = rn->valid; ctx->naddrs = naddrs; if (addrs == NULL) { @@ -2541,6 +2546,7 @@ while (next) { ctx = next; ctx->state = code; + ctx->valid = ngx_time() + (r->valid ? r->valid : 10); next = ctx->next; ctx->handler(ctx); @@ -2675,6 +2681,7 @@ while (next) { ctx = next; ctx->state = NGX_OK; + ctx->valid = rn->valid; ctx->name = name; next = ctx->next;