The flag indicates that the resolve handler is called asynchronously after the
resolve function ngx_resolve_name()/ngx_resolve_addr() exited.
last->next = rn->waiting;
rn->waiting = ctx;
ctx->state = NGX_AGAIN;
+ ctx->async = 1;
do {
ctx->node = rn;
rn->waiting = ctx;
ctx->state = NGX_AGAIN;
+ ctx->async = 1;
do {
ctx->node = rn;
ctx->next = rn->waiting;
rn->waiting = ctx;
ctx->state = NGX_AGAIN;
+ ctx->async = 1;
ctx->node = rn;
/* unlock addr mutex */
/* unlock addr mutex */
ctx->state = NGX_AGAIN;
+ ctx->async = 1;
ctx->node = rn;
return NGX_OK;
srv = cctx->srvs;
ctx->count--;
+ ctx->async |= cctx->async;
srv->ctx = NULL;
srv->state = cctx->state;
void *data;
ngx_msec_t timeout;
- ngx_uint_t quick; /* unsigned quick:1; */
+ unsigned quick:1;
+ unsigned async:1;
ngx_uint_t recursion;
ngx_event_t *event;
};