changeset 3297:ebc5384479b4

fix segfault in resolver: ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete contexts from a resolver node waiting list.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 09 Nov 2009 17:45:56 +0000
parents f63865460aa6
children 847ab5a32307
files src/core/ngx_resolver.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 */