Changeset 8310b2 for server/src/core/ngx_resolver.c
- Timestamp:
- 02/03/09 19:45:01 (3 years ago)
- Branches:
- master-v0.7, nginx-v0.7, nginx-v0.8, upstream_count_limit
- Children:
- e86d7f, f54237
- Parents:
- 2ac4f5
- git-author:
- George Potapov <nephrite@…> (02/03/09 19:45:01)
- git-committer:
- George Potapov <nephrite@…> (02/03/09 19:45:01)
- File:
-
- 1 edited
-
server/src/core/ngx_resolver.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
server/src/core/ngx_resolver.c
r43a52e r8310b2 579 579 ngx_resolve_addr(ngx_resolver_ctx_t *ctx) 580 580 { 581 u_char *name; 581 582 ngx_resolver_t *r; 582 583 ngx_resolver_node_t *rn; … … 602 603 ngx_queue_insert_head(&r->addr_expire_queue, &rn->queue); 603 604 604 ctx->name.len = rn->nlen; 605 ctx->name.data = ngx_resolver_dup(r, rn->name, rn->nlen); 606 if (ctx->name.data == NULL) { 605 name = ngx_resolver_dup(r, rn->name, rn->nlen); 606 if (name == NULL) { 607 607 goto failed; 608 608 } 609 609 610 ctx->name.len = rn->nlen; 611 ctx->name.data = name; 612 610 613 /* unlock addr mutex */ 611 614 … … 614 617 ctx->handler(ctx); 615 618 616 ngx_resolver_free(r, ctx->name.data);619 ngx_resolver_free(r, name); 617 620 618 621 return NGX_OK; … … 624 627 rn->waiting = ctx; 625 628 626 return NGX_AGAIN; 629 /* unlock addr mutex */ 630 631 return NGX_OK; 627 632 } 628 633 … … 1337 1342 } 1338 1343 1339 if (naddrs ) {1344 if (naddrs > 1) { 1340 1345 ngx_resolver_free(r, addrs); 1341 1346 } … … 1514 1519 } 1515 1520 1516 len -= 2;1517 1518 1521 if (ngx_resolver_copy(r, &name, buf, &buf[i], &buf[n]) != NGX_OK) { 1519 1522 return; … … 1522 1525 ngx_log_debug1(NGX_LOG_DEBUG_CORE, r->log, 0, "resolver an:%V", &name); 1523 1526 1524 if (len != (size_t) rn->nlen || ngx_strncmp(name.data, rn->name, len) != 0) 1527 if (name.len != (size_t) rn->nlen 1528 || ngx_strncmp(name.data, rn->name, name.len) != 0) 1525 1529 { 1526 ngx_resolver_free(r, rn->name); 1530 if (rn->nlen) { 1531 ngx_resolver_free(r, rn->name); 1532 } 1533 1534 rn->nlen = (u_short) name.len; 1527 1535 rn->name = name.data; 1528 1536 1529 name.data = ngx_resolver_dup(r, rn->name, len);1537 name.data = ngx_resolver_dup(r, rn->name, name.len); 1530 1538 if (name.data == NULL) { 1531 1539 goto failed;
Note: See TracChangeset
for help on using the changeset viewer.
