# HG changeset patch # User Igor Sysoev # Date 1257788756 0 # Node ID ebc5384479b4979b6dae22bfee91a69c69411177 # Parent f63865460aa66e4fe4386a74089ffd0adf1c9f20 fix segfault in resolver: ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete contexts from a resolver node waiting list. diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -464,6 +464,7 @@ ngx_resolve_name_locked(ngx_resolver_t * ctx->next = rn->waiting; rn->waiting = ctx; + ctx->state = NGX_AGAIN; return NGX_AGAIN; } @@ -625,6 +626,7 @@ ngx_resolve_addr(ngx_resolver_ctx_t *ctx ctx->next = rn->waiting; rn->waiting = ctx; + ctx->state = NGX_AGAIN; /* unlock addr mutex */