mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-20 21:43:41 +00:00
fix #274
This commit is contained in:
+11
-1
@@ -34,6 +34,7 @@
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <getopt.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifndef __MINGW32__
|
||||
#include <netdb.h>
|
||||
@@ -176,7 +177,16 @@ int create_and_bind(const char *host, const char *port)
|
||||
hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG; /* For wildcard IP address */
|
||||
hints.ai_protocol = IPPROTO_TCP;
|
||||
|
||||
s = getaddrinfo(host, port, &hints, &result);
|
||||
for (int i = 0; i < 8; i++) {
|
||||
s = getaddrinfo(host, port, &hints, &result);
|
||||
if (s == 0) break;
|
||||
else {
|
||||
sleep(pow(2, i));
|
||||
LOGE("failed to resolve server name, wait for %.0fs", pow(2, i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (s != 0) {
|
||||
LOGE("getaddrinfo: %s", gai_strerror(s));
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user