From 1ec7527ea4c241347f27adb7f22c70085130bfba Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko Date: Tue, 20 Jun 2017 13:24:51 +0300 Subject: [PATCH] odissey: fix getaddrinfo rc check --- src/od_backend.c | 2 +- src/od_pooler.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/od_backend.c b/src/od_backend.c index d78a45e4..b3302150 100644 --- a/src/od_backend.c +++ b/src/od_backend.c @@ -274,7 +274,7 @@ od_backend_connect_to(od_server_t *server, snprintf(port, sizeof(port), "%d", server_scheme->port); struct addrinfo *ai = NULL; rc = machine_getaddrinfo(server_scheme->host, port, NULL, &ai, 0); - if (rc == -1) { + if (rc != 0) { od_error_server(&instance->log, server->id, context, "failed to resolve %s:%d", server_scheme->host, diff --git a/src/od_pooler.c b/src/od_pooler.c index 89d5b18f..533893b0 100644 --- a/src/od_pooler.c +++ b/src/od_pooler.c @@ -181,7 +181,7 @@ od_pooler_main(od_pooler_t *pooler) struct addrinfo *ai = NULL; int rc; rc = machine_getaddrinfo(host, port, hints_ptr, &ai, UINT32_MAX); - if (rc == -1) { + if (rc != 0) { od_error(&instance->log, "pooler", "failed to resolve %s:%d", instance->scheme.host, instance->scheme.port); @@ -189,7 +189,11 @@ od_pooler_main(od_pooler_t *pooler) } pooler->addr = ai; - /* listen on every resolved address */ + /* listen resolved addresses */ + if (host) { + od_pooler_server_start(pooler, ai); + return; + } while (ai) { od_pooler_server_start(pooler, ai); ai = ai->ai_next;