X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fdns.cc;h=75a5bbfbf420352aacc907174a7eca932715c273;hb=9351ece659f57ee704b5f0ccfd4b531677ff36f8;hp=0becfc99107f22068e22d512ab9cc2e971989754;hpb=743e893ecbbaacd66d2832e9c3ae16404422a173;p=awesomized%2Flibmemcached diff --git a/libtest/dns.cc b/libtest/dns.cc index 0becfc99..75a5bbfb 100644 --- a/libtest/dns.cc +++ b/libtest/dns.cc @@ -46,10 +46,14 @@ namespace libtest { bool lookup(const char* host) { bool success= false; - if (host) + assert(host and host[0]); + if (host and host[0]) { - assert(host); struct addrinfo *addrinfo= NULL; + struct addrinfo hints; + memset(&hints, 0, sizeof(hints)); + hints.ai_socktype= SOCK_STREAM; + hints.ai_protocol= IPPROTO_TCP; int limit= 5; while (--limit and success == false) @@ -61,7 +65,7 @@ bool lookup(const char* host) } int ret; - if ((ret= getaddrinfo(host, NULL, NULL, &addrinfo)) == 0) + if ((ret= getaddrinfo(host, "echo", &hints, &addrinfo)) == 0) { success= true; break; @@ -92,6 +96,11 @@ bool lookup(const char* host) bool check_dns() { + if (valgrind_is_caller()) + { + return false; + } + if (lookup("exist.gearman.info") == false) { return false;